Java 如何在@OneToOne与@JoinColumn和@MapsId的关系中设置外键名

Java 如何在@OneToOne与@JoinColumn和@MapsId的关系中设置外键名,java,hibernate,foreign-keys,hibernate-5.x,Java,Hibernate,Foreign Keys,Hibernate 5.x,在以下示例中(来自): 我在PostDetails和Post实体之间存在单向关系,使用@MapsId将Post的ID重用为PostDetails的ID 除此之外,我还添加了 @JoinColumn(foreignKey = @ForeignKey(name = "fk_post")) 因为我想给外键指定自定义名称。不幸的是,Hibernate忽略了我的自定义名称,并为外键分配了自己随机生成的名称 因此,问题是在这种情况下(使用@MapsId时)如何设置外键名?我尝试不用使用不推荐使用的Hibe

在以下示例中(来自):

我在
PostDetails
Post
实体之间存在单向关系,使用
@MapsId
Post
的ID重用为
PostDetails
的ID

除此之外,我还添加了

@JoinColumn(foreignKey = @ForeignKey(name = "fk_post"))
因为我想给外键指定自定义名称。不幸的是,Hibernate忽略了我的自定义名称,并为外键分配了自己随机生成的名称

因此,问题是在这种情况下(使用
@MapsId
时)如何设置外键名?我尝试不用使用不推荐使用的Hibernate
@ForeignKey
注释就可以离开

我测试过的Hibernate版本是
5.2.12
5.2.13

我希望我遗漏了一些东西,但考虑到Hibernate在以前的版本中有多少关于FK名称的问题,我觉得这似乎是一个Hibernate bug

更新
我创建了@JoinColumn的.useName属性。
@JoinColumn(name=”“)

尽管如此,Hibernate 5.3.15仍然存在问题。Hibernate Jira的问题与此类似:例如@JoinColumn(name=“pidFk”)
@JoinColumn(foreignKey = @ForeignKey(name = "fk_post"))