Dúvida no mapeamento ManyToOne

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…

[quote=eduardimaa]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.[/quote]

No banco de dados, recrie a constraint utilizando o ON DELETE CASCADE

Vc deve estudar HQL: http://docs.jboss.org/hibernate/orm/3.5/reference/pt-BR/html/queryhql.html
Aqui um tópico que se adequa a sua situação: http://www.guj.com.br/java/59479-hibernate-retorno-de-querylist-com-2-objetos-em-from

Abs,
Romulo Rocha

Vou tentar aki, obrigadooo