Cascade.Persist com chave composta

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…