Boa noite pessoal, estou em dúvida em como criar um relacionamento ManyToOne (creio que seja este a ser usado),
olha só, tenho duas entidas, Linhas e Empresas, ao salvar a entidade Empresa no BD não preciso
indicar quais suas Linhas, mas ao salvar as Linhas preciso indicar qual Empresa ela pertence. Até ai ok,
está salvando direitinho no BD. O problema é quando vou excluir o objeto empresa me lança a exceção informando
o relacionamento das entidades (ForeignKey), e não estou conseguindo listar as Linhas.
1º Como irei excluir o Objeto empresa ?
2º Como listarei as linhas com sua devida empresa ?
Vejam como está ?
Linha.java
@Entity
public class Linha {
@Id
@GeneratedValue
private Integer id_linha;
private String nome_linha;
@ManyToOne(fetch = FetchType.EAGER)
@OnDelete(action = OnDeleteAction.CASCADE)
@JoinColumn(name = "id_empresa", nullable = false)
private Empresa empresa = new Empresa();
gets e sets
hashs e equals
Empresa.java
[code]@Entity
@RequestScoped
public class Empresa implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Integer id_empresa;
private String nome_empresa;
gets e sets
hashs e equals
[/code]
Metodo utilizado para listar Linhas
[code]public List listar() {
return this.session.createCriteria(Linha.class).list();
}[/code]
Metodo para excluir Empresa
public void excluir(Empresa empresa) {
this.session.delete(empresa);
}
Se vocês puderem me ajudar ficarei muito agradecido, muito obrigado a todos…