一对多关系的JPA设计模型

时间:2018-07-28 09:22:19

标签: spring-boot spring-data-jpa

我有一个这样的数据库设计:tb_address( id, address )tb_store( id, name, address_id )tb_user( id, name, address_id ),其中两个address_id都是tb_address的引用键。 我想使用spring-data-jpa设计Java模型。我已经通过使用Intellij中的工具来创建模型一来生成数据库脚本,但是我没有得到想要的。我得到的是这样的tb_address( id, address, store_id, user_id ),但我不想要那样。所以请帮助我。

1 个答案:

答案 0 :(得分:1)

由于ModelsEntities的设计,您似乎没有得到想要的东西。我想这就是您要寻找的东西:

@Entity
@Table(name = "td_address")
public class Address {

    @Id
    private Long id;
    private String address;

    //getters and setters

}

@Entity
@Table(name = "tb_store")
public class Store {

    @Id
    private Long id;
    private String name;
    @ManyToOne
    @JoinColumn(name = "address_id")
    private Address address;

    //getters and setters

}

@Entity
@Table(name = "tb_user")
public class User {

    @Id
    private Long id;
    private String name;
    @ManyToOne
    @JoinColumn(name = "address_id")
    private Address address;

    //getters and setters
}