Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 与共享服务器的一对一关系在执行时不起作用_Mysql_Database_Jpa_Eclipselink_One To One - Fatal编程技术网

Mysql 与共享服务器的一对一关系在执行时不起作用

Mysql 与共享服务器的一对一关系在执行时不起作用,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中开发)并查阅我刚刚在

我在MySql中使用EclipseLink(JPA2.0),我在模型中遇到了一些问题。 我有两个实体:Delincointe、PerfilFisico。他们分享了熟食者的Pk

DB工作正常,但当我插入一个delincointe,然后插入Perfil Fisico时,我试图显示该delincointe的PerfilFisico(使用delincointe.PerfilFisico.),它只是空的。我检查了DB的表格,一切正常

如果我再次运行该系统(我在Netbeans 7.2中开发)并查阅我刚刚在DB上注册的delincointe,它会显示所有字段,并且一切都很完美

代码如下:

delincointe.java

@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中使用缓存的示例。虽然我已经试着建立起你所说的,但最好是保持你们关系的双方。还是修不好。有什么建议吗?到底是什么?当你坚持你的关系时,你是否在设定它们的两面?