【问题标题】:JPA ORM XML TagJPA ORM XML 标记
【发布时间】:2014-03-27 04:32:23
【问题描述】:

如何在 orm.xml 中定义派生主键 示例:

@Entity
class Entity1 {

@Id
@OneToOne
private Entity2 entity2;

....

}

我知道在 ORM.xml 中将 @Id 定义为 <id > 标签和 @OneToOne 在 ORM.xml 中作为 <one-to-one > 标签

但是如何定义两者的组合呢?

【问题讨论】:

  • 很确定你不能做你在那里指定的事情。你可以在Entity2 上使用@PrimaryKeyJoinColumn 并以这种方式加入它
  • 使用其他实体作为 id 的一部分是完全有效的。至于OP,你试过的orm.xml是什么,有什么问题?
  • @DataNucleus ,在 Orm.xml 标签有 , ,, 等但是如何同时使用 标记在派生主键情况下的组合,其中单个属性同时具有注释 @Id@OneToOne ?

标签: java jpa orm jpa-2.0


【解决方案1】:

如果正在使用的 JPA 实现的文档是半体面的,他们应该有使用 orm.xml 的示例(一些 JPA impls 的文档似乎认为您所需要的只是注释)。 DataNucleus JPA 有this page,它给出了一个足够简单的例子。

【讨论】:

  • 所以最终的答案是我们需要同时使用两个标签示例:<id name="user" ><one-to-one name="user" >
【解决方案2】:

如果您使用的是 JPA 2,onetoone/manytoone 映射可以使用 id="true" 来指定它是 id 的一部分。

在这里找到https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#JPA_2.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多