How to persist with EntityHome in relation many to many
baga Jul 5, 2010 11:36 AMHello,
I have a many to many relationship between Dizionario and Categoria. I'm using EntityHome for CRUD operation and i want to persist data, how can i do it? Anybody can help me?
Here are my Entity:
@Entity @Table(name = "Dizionario") public class Dizionario implements java.io.Serializable { private List<Categoria> categorie; private Long id; private String frase; private boolean ricercatotale = false; public Dizionario() { } public Dizionario(boolean ricercatotale) { this.ricercatotale = ricercatotale; } public Dizionario(String frase, boolean ricercatotale) { this.frase = frase; this.ricercatotale = ricercatotale; } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "dizionario_id", unique = true, nullable = false) public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } @Column(name = "frase") public String getFrase() { return this.frase; } public void setFrase(String frase) { this.frase = frase; } @Column(name = "ricercatotale", nullable = false) public boolean isRicercatotale() { return this.ricercatotale; } public void setRicercatotale(boolean ricercatotale) { this.ricercatotale = ricercatotale; } @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "dizionari",targetEntity = Categoria.class) public List<Categoria> getCategorie() { return categorie; } public void setCategorie(List<Categoria> categorie) { this.categorie = categorie; } } CATEGORIA @Entity @Table(name = "Categoria") public class Categoria implements java.io.Serializable { private Long id; private String nome; private Set<Dizionario> dizionari; public Categoria() { } public Categoria(String nome) { this.nome = nome; } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "catagoria_id", unique = true, nullable = false) public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } @Column(name = "nome", length = 20) @Length(max = 20) public String getNome() { return this.nome; } public void setNome(String nome) { this.nome = nome; } @ManyToMany( targetEntity=Dizionario.class// , // cascade={CascadeType.PERSIST, CascadeType.MERGE} ) @JoinTable( name="Categoria_Dizionario", joinColumns=@JoinColumn(name="categoria_id"), inverseJoinColumns=@JoinColumn(name="dizionario_id")) public Set<Dizionario> getDizionari() { return dizionari; } public void setDizionari(Set<Dizionario> dizionari) { this.dizionari = dizionari; } // metodo equals: una categoria e' uguale all'altra se il nome coincide public boolean equals(Object obj) { return ((Categoria)obj).nome.equals(nome); } }