美文网首页
@OneToMany注解的使用

@OneToMany注解的使用

作者: 姜小码 | 来源:发表于2016-07-12 01:18 被阅读5065次

    假设有两个表,订单表产品表,订单跟产品的关系是一对多的关系,那么在JPA中怎样表示一对多的关系呢?实体关系一对多映射有两种方式:

    1 外键关联

    //订单表
    @Entity
    @Table(name = "orders")
    public class Order {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
        @OneToMany(cascade = {CascadeType.ALL})
        @JoinColumn(name = "order_id")
        private List<Product> productList;
    
        ...
    }
    
    //产品表
    @Entity
    @Table(name = "product")
    public class Product {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
        ...
    

    这样在表product中会增加一列order_id

    2 表关联

    //订单表
    @Entity
    @Table(name = "orders")
    public class Order {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
        @OneToMany(cascade = {CascadeType.ALL})
        @JoinTable(name = "order_has_product", joinColumns = {@JoinColumn(name = "order_id", referencedColumnName = "id")},inverseJoinColumns = {@JoinColumn(name = "product_id", referencedColumnName = "id")})
        private List<Product> productList;
    
        ...
    }
    
    

    这样在product表中不会增加任何外键,而是新建了一张order_has_product

    相关文章

      网友评论

          本文标题:@OneToMany注解的使用

          本文链接:https://www.haomeiwen.com/subject/wbbjjttx.html