Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
OpenJPA级联在OneTONE关系上保持_Jpa_Websphere_Cascade_Openjpa_Persist - Fatal编程技术网

OpenJPA级联在OneTONE关系上保持

OpenJPA级联在OneTONE关系上保持,jpa,websphere,cascade,openjpa,persist,Jpa,Websphere,Cascade,Openjpa,Persist,我试图使用Websphere持久化到IBMDB2数据库,而Websphere反过来使用OpenJPA实现。我的问题是,我总是得到一个完整性约束异常SQLCODE=-530,这意味着它找不到外键 关系如下 @Entity public class A{ @Id private String id; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "B_ID") private B b; } @E

我试图使用Websphere持久化到IBMDB2数据库,而Websphere反过来使用OpenJPA实现。我的问题是,我总是得到一个完整性约束异常SQLCODE=-530,这意味着它找不到外键

关系如下

@Entity
public class A{
   @Id
   private String id;

   @OneToOne(cascade = CascadeType.ALL) 
   @JoinColumn(name = "B_ID") 
   private B b; 
}

@Entity
public class B{
   @Id
   private String id;
}
现在,我尝试持久化这两个实体

final A a = new A(); 
final B b = new B(); 
a.setB(b); 

em.persist(a); 
关系的DB所有者是绑定到A的表,其中包含对B的引用,而B没有对A的引用

现在,当持久化OpenJPA尝试首先持久化@JoinColumn的所有者时,这导致类B不在那里,因此无法持久化

在维持现有关系的情况下,有人能解决这个问题吗。 我已经找到了这个帖子: 但在那里提出的解决方案似乎不起作用