• JPA多对一单向关联


    在实际开发过程中,JPA多对一单向关联是使用最多的关联方式。

    下面是订单与订单项的配置关系。

    订单(Order):一的一方,不进行任何配置

     
    1. @Entity  
    2. @Table(name="orders")  
    3. public class Order {  
    4.       
    5.     @Id  
    6.     @Column(length=40)  
    7.     private String orderId;        //订单ID  
    8.       
    9.     @Column(nullable=false)  
    10.     private Float amount = 0f;    //总价  
    11.      
    12.     private Set<OrderItem> items;//订单项(可有可无,查询订单时,无法查出此项)  
    13.   
    14.     public String getOrderId() {  
    15.         return orderId;  
    16.     }  
    17.       
    18.     public void setOrderId(String orderId) {  
    19.         this.orderId = orderId;  
    20.     }  
    21.     public Float getAmount() {  
    22.         return amount;  
    23.     }  
    24.       
    25.     public void setAmount(Float amount) {  
    26.         this.amount = amount;  
    27.     }  
    28.   
    29.     public Set<OrderItem> getItems() {  
    30.         return items;  
    31.     }  
    32.   
    33.     public void setItems(Set<OrderItem> items) {  
    34.         this.items = items;  
    35.     }  

    订单项(OrderItem):多的一方,进行ManyToOne关联配置。

     
      1. @Entity  
      2. public class OrderItem {  
      3.       
      4.     @Id  
      5.     @GeneratedValue //ID自增长  
      6.     private Integer id;  
      7.       
      8.     @Column(length=40,nullable=false)  
      9.     private String productName;  
      10.   
      11.     @Column(nullable=false)  
      12.     private Float sellPrice;  
      13.       
      14.     /* 
      15.      * @JoinColumn(name="order_id") 数据库中外键的名字为order_id 
      16.      */  
      17.     @ManyToOne(cascade={CascadeType.MERGE,CascadeType.REFRESH},  
      18.             fetch=FetchType.EAGER,optional=false)  
      19.     @JoinColumn(name="order_id")  
      20.     private Order order;  
      21.       
      22.     public Integer getId() {  
      23.         return id;  
      24.     }  
      25.       
      26.     public void setId(Integer id) {  
      27.         this.id = id;  
      28.     }  
      29.     public String getProductName() {  
      30.         return productName;  
      31.     }  
      32.       
      33.     public void setProductName(String productName) {  
      34.         this.productName = productName;  
      35.     }  
      36.     public Float getSellPrice() {  
      37.         return sellPrice;  
      38.     }  
      39.       
      40.     public void setSellPrice(Float sellPrice) {  
      41.         this.sellPrice = sellPrice;  
      42.     }  
      43.   
      44.     public Order getOrder() {  
      45.         return order;  
      46.     }  
      47.   
      48.     public void setOrder(Order order) {  
      49.         this.order = order;  
      50.     }
  • 相关阅读:
    Oracle dbms_job
    ORACLE 表空间扩展
    面试技术岗,你真能讲明白技术吗?
    阿里巴巴高级技术专家章剑锋:大数据发展的 8 个要点
    技术管理管什么
    如何做到进人精挑细选,裁人快刀斩乱麻
    数据脱敏
    美团数据治理平台
    impala教学视频
    任正非的讲话
  • 原文地址:https://www.cnblogs.com/MAPO/p/8508407.html
Copyright © 2020-2023  润新知