Tenho um problema na persistência do meu código.
Tenho uma classe pai, uma classe filho, e uma clase “tio”
public class pai{
@Id
public Integer id;
//getters and setters
@OneToMany(cascade = CascadeType.PERSIST)
List filhos
//getters and setters
}
public class filho{
@EmbeddedId
public idFilho id;
//getters and setters
}
@Embeddable
public idFilho{
private Integer idTio;
private Integer idPai;
}
public class tio{
public Integer id;
//getters and setters
}
Quando preencho a entidade pai com uma lista de filhos e dou o comando save(Pai) não persiste e gera o seguinte erro na hora de persistir o pai Erro: null
Caso eu persista o pai antes, preencha as chaves primárias com o código dele funciona, mas sem persistir o pai antes não, alguma dica?
Tenta trocar de seu @Id de Integer para int.
Todas ou alguma em específico?
E por qual motivo?
Coloca em todas.
Você ta tendo erro de null, int é primitivo e já vem com valor default.
Você está gerando esse valor na unha ou o banco vai gerar para você?
Se for o banco, você não colocou a anotação @GeneratedValue
Cara, minha entidade pai ela tem um sequence generator que funciona bacana
A única coisa mesmo que pega é eu persistir a chave composta com cascade sem preencher a chave do pai na pk…
[quote=helderfalcaob]Cara, minha entidade pai ela tem um sequence generator que funciona bacana
A única coisa mesmo que pega é eu persistir a chave composta com cascade sem preencher a chave do pai na pk…
[/quote]Blz, sempre tem que ter valor o id antes de persistir mesmo. Se for int ele sempre vai ter valor.
Cara…
a questão do int tbm não deu certo…
Um colega meu conseguiu fazer mas controlando a transação,
dando commit depois de todo o processo…
[quote=helderfalcaob]Cara…
a questão do int tbm não deu certo…
Um colega meu conseguiu fazer mas controlando a transação,
dando commit depois de todo o processo…
[/quote]Blz. O importante é funcionar
Da próxima vez, se possível, coloque o código real ou o mais próximo possível, pois fica mais fácil de ajudar.
Outra observação é que classe filho seria: Filho extends Pai. Isso é herança, Uma classe dentro da outra é composição e não existe nenhum comportamento de herança nesse tipo de relacionamento.
Inté! \o_
NEsse caso ela não era uma “filha” mesmo não cara…
Ela era so uma entidade que possuía um relacionamento ManyToOne com a classe Pai…