Dobry den,
nevraci nahodou pageService.find(2); entitu v detached stavu?
Z.T.
--
Zdenek Tronicek
Department of Computer Science and Engineering
Prague tel: +420 2 2435 7410
http://cs.felk.cvut.cz/~tronicek
Cituji tomas <[EMAIL PROTECTED]>:
Mezi objekty je asociace ManyToMany:
---------------------
@Entity
public class Page{
@ManyToMany(mappedBy="pages")
private List<Component> components = new ArrayList();
...
}
-----------------------
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Component{
@ManyToMany(cascade = {CascadeType.MERGE, CascadeType.PERSIST,
CascadeType.REFRESH })
@JoinTable(name = "Page_Component",
joinColumns = [EMAIL PROTECTED](name="componentId")},
inverseJoinColumns = [EMAIL PROTECTED](name="pageId")}
)
private List<Page> pages = new ArrayList();
...
}
---------------------
@Entity
public class Article extends Component{
...
}
---------------------------------
V abstraktní třídě Component jsem odstranil atribut "cascade":
@ManyToMany
@JoinTable(name = "Page_Component",
joinColumns = [EMAIL PROTECTED](name="componentId")},
inverseJoinColumns = [EMAIL PROTECTED](name="pageId")}
)
private List<Page> pages = new ArrayList();
Nyní vše funguje.
Myslel jsem, že atribut cascade je potřebný pro ukládání objektů ve
správném pořadí. Kdyby mi někdo vysvětlit proč se odstraněním atributu
vyřešil problém s detached entitou budu mu zavázán.
Díky
Tomáš