bor*_*jab 11
使用JPA 2.1,您可以使用foreignKey注释执行此操作:
import javax.persistence.ForeignKey;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@ManyToOne
@JoinColumn(name = "company_id", nullable = false, foreignKey = @ForeignKey(name="FK_COMPANY__ROUTE"))
private Company company;
Run Code Online (Sandbox Code Playgroud)
不要与已弃用的hibernate等价物混淆
从JPA 2.1开始,可以通过@ForeignKey批注定义外键。
不幸的是,如果您只需要更改名称,它就不是很有用。如果指定FK的自定义名称,则还必须指定FK的SQL定义。至少这是它在EclipseLink 2.5.0中的工作方式。
@JoinColumn如果您有兴趣命名外键中使用的列,可以使用注释和注释来指定用于创建外键的列的名称@ManyToOne。nameJPA 提供程序使用注释的属性值@JoinColumn将表中的列名映射到实体的属性。
但是,无法配置自身创建的外键约束的名称。在撰写本文时,无法使用 OR 映射文件中的 JPA 注释或配置参数来指定外键约束的名称。如果需要更改外键约束的名称,则必须自己创建 DDL 语句,而不是依赖 JPA 提供程序来执行此操作。
| 归档时间: |
|
| 查看次数: |
9361 次 |
| 最近记录: |