Estou fazendo um cadastro de objetos por perfil para acessos ao meu sistema, e estou utilizando hibernate com mysql, sendo que criei as seguintes tabelas no banco de dados:
Perfil
id smallint pk
descricao varchar(50)
Objeto
id smallint pk
descricao varchar(50)
objetos_perfil
id smallint pk
id_perfil smallint uk
id_objeto smallint uk
Fiz as devidas ligações das foreign keys e tudo. Abaixo seguem os beans com seus mapeamentos:
[code]@Entity
@Table (name=“Perfil”)
public class PerfilBean {
@Id @GeneratedValue (strategy=GenerationType.AUTO)
private Long id;
private String descricao;
@OneToMany(mappedBy="perfil", cascade=CascadeType.ALL)
private List<ObjetosPerfilBean> objeto;
// getters and setters
}
[code]@Entity @Table(name=“objeto_web”)
public class ObjetoBean {
@Id
@GeneratedValue (strategy=GenerationType.AUTO)
private Long id;
private String descricao;
// getters and setters
}[/code]
[code]@Entity @Table(name=“objetos_perfil”)
public class ObjetosPerfilBean {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="perfil_web_id")
private PerfilBean perfil;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="objeto_web_id")
private ObjetoBean objeto;
//getters and setters
}
[/code]
Tudo funciona… mas eu só consigo persistir um objeto por perfil. Se coloco mais do que um bean de objeto dentro do list de objetos do perfil, o hibernate só irá persistir o último objeto_perfil…
Onde estou errando???
Obrigado por que ajudar…