Boa tarde galera, estou me batendo com esse problema e está tirando meu sono... Para alguns casos, o relacionamento funciona e para outros não.
org.hibernate.HibernateException: Encountered problem trying to hydrate identifier for entity [SingleTableEntityPersister(br.com.projeto.adapter.out.database.pacote.entity.CarteiraEntity)]
estou montando o seguinte relacionamento
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "cd_paciente", referencedColumnName = "cd_paciente")
private List<CarteiraEntity> carteira;
onde carteira, possui uma pk com 4 campos
@Embeddable
public class CarteiraKey implements Serializable {
@Column(name = "cd_paciente")
private Long cdPaciente;
@Column(name = "cd_convenio", updatable = false, insertable = false)
private Long cdConvenio;
@Column(name = "cd_con_pla", updatable = false, insertable = false)
private Long cdPlano;
@Column(name = "nr_carteira")
private Long nrCarteira;
}
Minha carteira entity possui
public class CarteiraEntity {
@EmbeddedId
private CarteiraKey key;
@Column(name = "dt_validade")
private LocalDate dtValidade;
@Column(name = "sn_carteira_ativo")
private String snCarteiraAtiva;
@Column(name = "sn_ultima_carteira_utilizada")
private String snUltimaCarteiraUtilizada;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "cd_convenio", insertable = false, updatable = false)
private ConvenioEntity convenio;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumns( {
@JoinColumn(name="cd_convenio", nullable = false, updatable = false, insertable = false),
@JoinColumn(name="cd_con_pla", nullable = false, updatable = false, insertable = false)} )
private PlanoEntity plano;
Por algum motivo, sempre que o paciente não tem carteira válida, encontro esse erro (em alguns casos, em outros, da certo).
Alguma luz?