JPA:@PrimaryKeyJoinColumn(...)和@JoinColumn(...,insertable =?,updatable =?)相同?

时间:2010-11-17 14:56:01

标签: java jpa mapping primary-key jpa-2.0

如果@PrimaryKeyJoinColumn(...)没有可插入和可更新的参数,则可以从JPA规范派生,与

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

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

用于常规(非继承)关联?他们应该可以互换吗?设置的可插入和可更新属性是什么?它们是否适合任何东西?注意,我只是针对两个(似乎)实现的只读属性......

我正在使用EclipseLink和Hibernate进行相当不一致的映射异常......

这是@PrimaryKeyJoinColumn JavaEE 5 + 6 Javadoc:

PrimaryKeyJoinColumn (JavaEE 5)
PrimaryKeyJoinColumn (JavaEE 6)

引用:

  

...它可以在OneToOne映射中使用,其中引用实体的主键用作引用实体的外键。

1 个答案:

答案 0 :(得分:14)

是的,两者是等价的。

在JPA 2.0中注意,您还可以向@Id映射添加@OneToOne,并避免完全使用重复的基本ID属性。

来自WikiBooks Java Persistence页面