gre*_*rep 11 naming hibernate jpa foreign-keys
我正在使用JPA类创建数据库.
如果我们有ManyToOne关系,我们可以像这样覆盖ForeignKey名称:
@ManyToOne
@JoinColumn(foreignKey = @ForeignKey(name = "FK_COUNTRY"))
private Country country;
Run Code Online (Sandbox Code Playgroud)
在DB中,我们将得到这样的结果:

好的,那很好.好结果!
但是当我有@ManyToMany时,我将无法设置我自己的FK名称.
我该如何创建呢?我尝试这样的东西,但它不起作用:
@ManyToMany(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
@JoinTable(name = "NEW_TABLE", foreignKey = @ForeignKey(name = "FK_TEST"))
Run Code Online (Sandbox Code Playgroud)
或类似的东西:
@JoinTable(
name="NEW_TABLE",
joinColumns=
@JoinColumn(name="ID1", referencedColumnName="ID", foreignKey = @ForeignKey(name = "FK_DEV_ID")),
inverseJoinColumns=ID2", referencedColumnName="ID", foreignKey = @ForeignKey(name = "FK_DEV_ZONE"))
)
Run Code Online (Sandbox Code Playgroud)
或这个:
@ManyToMany(cascade = CascadeType.PERSIST)
@JoinTable(name="NEW_TABLE_2",
joinColumns=
@JoinColumn(name="ID1", referencedColumnName="ID",
foreignKey = @ForeignKey(name = "FK_1")
),
inverseJoinColumns=
@JoinColumn(name="ID2", referencedColumnName="ID",
foreignKey = @ForeignKey(name = "FK_2")
),
foreignKey = @ForeignKey(name = "FK_1"),
inverseForeignKey = @ForeignKey(name = "FK_2")
)
private List<MyObject> deviceZones;
Run Code Online (Sandbox Code Playgroud)
它们不起作用.
我使用这个版本的罐子:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.6.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.6.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>4.0.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.2.Final</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.0.6.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的java版本是1.8
| 归档时间: |
|
| 查看次数: |
3058 次 |
| 最近记录: |