【问题标题】:name forgeign key in JPA?在 JPA 中命名外键?
【发布时间】:2009-07-06 12:18:56
【问题描述】:

我正在使用 Hibernate Tools ant 任务从 JPA 注释实体生成 DDL。使用休眠注释,您可以使用命名外键

@JoinColumn(name = "foo")
@org.hibernate.annotations.ForeignKey(name = "fk_foo")

有没有一种纯粹的 JPA 方法来实现相同的目标?

【问题讨论】:

  • 感谢您的回答。

标签: java jpa


【解决方案1】:

没有。 JDO 是唯一允许定义 FK 名称、onUpdate/onDelete 操作等的持久性规范。JPA(即使在 JPA2 中)根本不会去那里。

--安迪 (DataNucleus)

【讨论】:

    【解决方案2】:

    不在注释中。但是,您可以设置 columnDefinition 并将外键写入其中。

    【讨论】:

    • 值得注意的是,并非所有 RDBMS 在列/约束定义下的 CREATE TABLE 语句中都接受“FK”的名称,而且由于此 JPA 文本组件的内容未定义,因此您不能依赖于不同 JPA 实现的结果
    • 取决于您的实现和目标数据库,它可能很有用。个人认为应该在 JPA 标准中定义,但我尽量务实,用我有的牌玩……
    猜你喜欢
    • 2011-09-30
    • 2018-02-05
    • 2011-01-02
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多