Estou mapeando uma tabela que possui PFK usando embeddable no java, mas quando eu executo u merge para atualizar os dados da tabela estrangeira mesmo mapeando cascade, ele não executa o update. Alguém pode me ajudar?
Este é o código das classes
@Entity @Table(name = "SAIDA_ESTACIONAMENTO") public class SaidaEstacionamento extends EntidadeEstacionamento { private static final long serialVersionUID = 1L; @EmbeddedId private SaidaEstacionamentoId id; @Column(name = "SAIDA_DATA_FINAL", columnDefinition = "datetime default current_datetime", nullable = true) @Temporal(TemporalType.TIMESTAMP) private Date dataSaidaFinal; @Column(name = "SAIDA_DATA_FINAL_SENSOR", columnDefinition = "DATETIME", nullable = true) @Temporal(TemporalType.DATE) private Date dataSaidaFinalSensor; @Column(name = "SAIDA_HORA_TOTAL", columnDefinition = "TIME", nullable = true) @Temporal(TemporalType.TIME) private Date horaTotal; @Column(name = "SAIDA_STATUS", columnDefinition = "NUMBER", length = 1, nullable = true) private Integer saidaStatus;
@Embeddable public class SaidaEstacionamentoId implements Serializable { private static final long serialVersionUID = 1L; @JoinColumn(name = "ID_SAIDA_ESTACIONAMENTO", nullable = false) @OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL, targetEntity = EntradaEstacionamento.class) private EntradaEstacionamento entradaEstacionamento;
@Entity @Table(name = "ENTRADA_ESTACIONAMENTO") public class EntradaEstacionamento extends EntidadeEstacionamento { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID_ENTRADA_ESTACIONAMENTO", columnDefinition = "NUMBER", length = 10, nullable = false) private Long id; @Column(name = "ENTRADA_DATA_INICIAL", columnDefinition = "DATETIME", nullable = true) @Temporal(TemporalType.TIMESTAMP) private Date dataEntradaInicial;
Quando tento atualizar por exemplo algum dado que está dentro de entradaEstacionamento o mesmo não atualiza.