zoukankan      html  css  js  c++  java
  • 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.     }
  • 相关阅读:
    servlet规范核心类图
    策略模式
    掌握Spark机器学习库-07-回归算法原理
    掌握Spark机器学习库-07-线性回归算法概述
    掌握Spark机器学习库-07-回归分析概述
    掌握Spark机器学习库-06-基础统计部分
    掌握Spark机器学习库-05-spark中矩阵与向量的使用
    测试开发要懂的设计模式知识
    数据可视化工具-ECharts
    掌握Spark机器学习库-02-mllib数据格式
  • 原文地址:https://www.cnblogs.com/MAPO/p/8508407.html
Copyright © 2011-2022 走看看