JPA:@PrimaryKeyJoinColumn(…)和@JoinColumn(…,insertable =?,updatable =?)相同?
如果@PrimaryKeyJoinColumn(...)
没有可插入和可更新的参数,你可以从JPA规范派生@PrimaryKeyJoinColumn(...)
@JoinColumn(..., insertable = false, updatable = false)
要么
@JoinColumn(…,insertable = true,updatable = true)
当用于常规(非inheritance)关联时? 他们应该可以互换吗? 设置的可插入和可更新属性是什么? 它们是否适合任何东西? 请注意,我只是针对两个(似乎)实现的只读属性…
我正在使用EclipseLink和Hibernate进行相当不一致的映射exception……
这是@PrimaryKeyJoinColumn
JavaEE 5 + 6 Javadoc:
PrimaryKeyJoinColumn(JavaEE 5)
PrimaryKeyJoinColumn(JavaEE 6)
引用:
…它可以在OneToOne映射中使用,其中引用实体的主键用作引用实体的外键。
是的,两者是等价的。
请注意,在JPA 2.0中,您还可以将@Id
添加到@OneToOne
映射,并避免完全具有重复的基本id属性。
看到
- 身份和排序>通过OneToOne和ManyToOne关系的主键和
- OneToOne>目标外键,主键连接列,级联主键
来自WikiBooks Java Persistence页面