Hibernate - Persistencia Join

5 respostas
J

PessoAll,

Tenho essa propriedade na classe “Cliente”

@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE},targetEntity = Categoria.class)

@JoinColumn(name="categoria_id")

private Categoria categoria;

Gostaria de salva-lá no banco.

Esta retornando o seguinte erro:

SEVERE: Column 'categoria_id' cannot be null
Exception in thread "main" org.hibernate.exception.ConstraintViolationException: could not insert: [teste.Cliente]

Oque pode ser? Porque ele me pede para inserir um codigo, sendo que gostaria que ele fosse na tabela de Categoria pegasse o id e persistisse na Cliente.

5 Respostas

vinicius_jssouza

Verifique se “categoria_id” está anotadocomo chave primária e com geração automática.

J

Então no objeto Categoria esta assim:

@Id 
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;

Acredito que não deva ser isso, mas valeu pela ajuda.

vinicius_jssouza

Poste ae o código que vc está utilizando para salvar a entidade no banco de dados pra gente uma idéia melhor…

geidivan

Verifica se no seu banco você setou a coluna correspondente como auto increment. Esse erro estava ocorrendo comigo também porque não havia setado o auto increment no banco.

aconstantino

Você setou a categoria antes de gravar??

Criado 30 de dezembro de 2008
Ultima resposta 7 de jan. de 2009
Respostas 5
Participantes 4