CATEGORY_PARENT_ID должен быть null в итоге у сущности c CATEGORY_ID = 2, которая сохраняется, так как она приходит в таком виде (CATEGORY_PARENT_ID = null):
{"id":2}
Что нужно поменять в аннотациях или в update/merge'е, чтобы достигнуть expected результата?
DbUnit setup dataset:
<dataset>
<CATEGORY CATEGORY_ID="1"
<CATEGORY CATEGORY_ID="2"
CATEGORY_PARENT_ID="1"/>
</dataset>
DbUnit expected dataset:
<dataset>
<CATEGORY CATEGORY_ID="1"/>
<CATEGORY CATEGORY_ID="2"/>
</dataset>
Java code:
@OneToOne( cascade = {CascadeType.ALL})
@JoinColumn(name = "CATEGORY_PARENT_ID")
@NotFound(action = NotFoundAction.IGNORE)
private Category parent;
@OneToMany( orphanRemoval = true, mappedBy = "parent", cascade = {CascadeType.ALL})
@NotFound(action = NotFoundAction.IGNORE)
private List<Category> children;
//...
getHibernateTemplate().merge(entity);