如何在JPA中使用@CollectionTable命名外键?

时间:2018-08-10 08:54:56

标签: postgresql hibernate jpa

我需要解决有关在JPA中命名FK的问题的帮助。我们有一个可嵌入的实体,例如 Foo (在另一个实体 Bar 中用作集合)。

可嵌入的实体:

@Embeddable
public class Foo{
    @Column(name = "foo1")
    private String foo1;

    @Column(name = "foo2")
    private String foo2;
}

主要实体:

@Entity
@Table(name = "Bar")
public class Bar {
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    @Id
    private Long id;

    @ElementCollection
    @CollectionTable(name = "foos", joinColumns = @JoinColumn(name = "bar_id", foreignKey = @ForeignKey(name = "foo_bar_fk"), nullable = false))
    private List<Bar> bars;
}

当我在数据库(postgres)中生成表时,外键称为fdk44l345k64而不是foo_bar_fk。你能告诉我如何解决吗?谢谢。

0 个答案:

没有答案