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áš





Odpovedet emailem