创建的db中没有外键存在

时间:2015-07-10 15:15:08

标签: spring-boot spring-data-jpa jpa-2.1

我在jpa中创建了许多实体。 当我在数据库中检查时,我没有看到任何外键。

@Entity
public class Lodger implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long lodgerId;

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "lodger")
    private List<AccountOperation> accountOperationList;
    ...
}

@Entity
public class AccountOperation {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long accountOperationId;

    @ManyToOne
    @JoinColumn(name = "lodger_id")
    private Lodger lodger;
    ...
}

在这个例子中,我想在帐户操作类中获取一个外键。

表自动创建 http://www.wepaste.com/table_example/

为什么?

1 个答案:

答案 0 :(得分:-1)

生成dll时,Hibernate不会自动生成foregein键。我建议关闭generate-dll选项,因为随着复杂性的增加,它可能会创建不一致的数据库。还可以查看spring boot默认数据库管理选项:

两者之间的主要区别在于,尽管两者都可以通过SQL进行管理,但Liquibase提供了更多数据库不可知的格式,如XML和YML,用于创建数据库