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
Java JPA:PrimaryKeyJoinColumn(…)与@JoinColumn(…,insertable=?,Updateable=?)相同吗?_Java_Jpa_Mapping_Primary Key_Jpa 2.0 - Fatal编程技术网

Java JPA:PrimaryKeyJoinColumn(…)与@JoinColumn(…,insertable=?,Updateable=?)相同吗?

Java JPA:PrimaryKeyJoinColumn(…)与@JoinColumn(…,insertable=?,Updateable=?)相同吗?,java,jpa,mapping,primary-key,jpa-2.0,Java,Jpa,Mapping,Primary Key,Jpa 2.0,如果没有可插入和可更新参数的@PrimaryKeyJoinColumn(…)与 @JoinColumn(..., insertable = false, updatable = false) 或 @JoinColumn(…,insertable=true,updateable=true) 在常规(非继承)关联上使用时?他们应该互换吗?可插入和可更新属性设置为什么?他们有什么打算吗?注意,我只针对两个(似乎)都实现的只读属性 我得到了相当不一致的映射异常与日食和冬眠 以下是@primarykey

如果没有可插入和可更新参数的
@PrimaryKeyJoinColumn(…)

@JoinColumn(..., insertable = false, updatable = false)

@JoinColumn(…,insertable=true,updateable=true)

在常规(非继承)关联上使用时?他们应该互换吗?可插入和可更新属性设置为什么?他们有什么打算吗?注意,我只针对两个(似乎)都实现的只读属性

我得到了相当不一致的映射异常与日食和冬眠

以下是
@primarykeyjoin列
JavaEE 5+6 Javadoc:


引述:

。。。并且它可以在一个OneTONE映射中使用,其中引用实体的主键用作引用实体的外键


是的,两者是等价的

注意:在JPA2.0中,您还可以将
@Id
添加到
@OneToOne
映射中,并避免完全使用重复的基本Id属性


从页面中

谢谢!:“因为现在同一外键列有两个映射,所以必须定义将写入数据库的映射(必须是基本映射),因此OneToOne或ManyToOne外键必须定义为只读。这是通过将JoinColumn属性insertable and Updateable设置为false来实现的,或者通过使用@PrimaryKeyJoinColumn而不是@JoinColumn来实现的。“这意味着我必须为EclipseLink提交错误报告,因为交换@JoinColumn。”(…,insertable=false,Updateable=false)与@PrimaryKeyJoinColumn(…)一起引发映射异常…第二个链接应该是:如果看第三个关于在不同版本的API中建立一对一关系的建议,看起来他们更不推荐使用
@PrimaryKeyJoinColumn
来创建关系