Mysql 与共享服务器的一对一关系在执行时不起作用
我在MySql中使用EclipseLink(JPA2.0),我在模型中遇到了一些问题。 我有两个实体:Delincointe、PerfilFisico。他们分享了熟食者的Pk DB工作正常,但当我插入一个delincointe,然后插入Perfil Fisico时,我试图显示该delincointe的PerfilFisico(使用delincointe.PerfilFisico.),它只是空的。我检查了DB的表格,一切正常 如果我再次运行该系统(我在Netbeans 7.2中开发)并查阅我刚刚在DB上注册的delincointe,它会显示所有字段,并且一切都很完美 代码如下: delincointe.javaMysql 与共享服务器的一对一关系在执行时不起作用,mysql,database,jpa,eclipselink,one-to-one,Mysql,Database,Jpa,Eclipselink,One To One,我在MySql中使用EclipseLink(JPA2.0),我在模型中遇到了一些问题。 我有两个实体:Delincointe、PerfilFisico。他们分享了熟食者的Pk DB工作正常,但当我插入一个delincointe,然后插入Perfil Fisico时,我试图显示该delincointe的PerfilFisico(使用delincointe.PerfilFisico.),它只是空的。我检查了DB的表格,一切正常 如果我再次运行该系统(我在Netbeans 7.2中开发)并查阅我刚刚在
@OneToOne(cascade = CascadeType.ALL, mappedBy = "delincuente")
private PerfilFisico perfilFisico;
PerfilFisico.java
@JoinColumn(name = "PK_IdDelincuente", referencedColumnName = "PK_Identificacion", insertable = false, updatable = false)
@OneToOne(optional = false)
private Delincuente delincuente;
怎么了,我已经读了好几天了,我不知道问题出在哪里。有什么建议吗
正如我所说的,它是有效的,但是当您运行它并注册新的Delincointe时,您必须重新运行系统以成功地完成咨询,并查看PerfilFisico EntityManager为托管实体提供了一级缓存,而EclipseLink等提供商提供了二级缓存。因此,如果不维护双向映射的两侧,使其与数据库不同步,则除非强制刷新、清除缓存或重新启动,否则不会显示双向映射。该应用程序必须保持双向关系,JPA不会为您这样做,因为它们是POJO。我明白了。如何强制刷新?请参阅EclipseLink中使用缓存的示例。虽然我已经试着建立起你所说的,但最好是保持你们关系的双方。还是修不好。有什么建议吗?到底是什么?当你坚持你的关系时,你是否在设定它们的两面?