JPA 一对多实例配置

xml代码

在JPA中双向一对多关系则多方为关系护端即负责外键记录的更新,一方为被维护端即没有权力更新外键记录

src下在面的META-INF/persistence.xml配置如下:

 

 

订单和订单项两个实例实体Bean如下:

订单表:

 

订单项表:

 测试:

 

 

1、hibernate是双向的,通过one可以找到many,通过many可以找到one,
   要想找到对方,必须将对方作为当前对象属性,在one这边
   应当有一个Set属性装载多many对象,在many这边应当有一个
   属性装载一个One对象。
   public class customer
   {
    private Set buies;
    private String customerName;
    public void setBuies(Set buies)
    {
     this.buies=buies;
    }
    public Set getBuies()
    {
     return this.buies;
    }
   }
  
public class Buy
   {
    private Integer buyID;
    private Customer customer;
    public void setCustomer(Customer customer)
    {
     this.customer=customer;
    }
    public Customer getCustomer()
    {
     return this.customer;
    }
   }
2、主控方:维护外键列的值。
   1、inverse="false"代表是主控方,另一方便是被控方,
     反之inverse="true"代表是被控方,另一方便是主控方。
     要想维护外键的值,必须将被控方作为主控方的属性。
     一般主控方要many这边,不在one那边。
3、延迟加载:
   1、lazy="true"代表是延迟加载,加载时只加载当前对象的,
     不加载其关联对象的值,只有取关联对象的值时才执行sql
     加载对方。
   2、lazy="false"代表即时加载,加载时不但加载当前对象的,
     还加载其关联的所有对象信息。
4、级联处理:主增从增、主删从删、从改从改,要做到该功能,必须将
   从作为主的一个属性或主集合属性中的一个元素。
   1、cascade="all" 代表级联insert、update、delete操作
   2、cascade="save-update" 代表级联insert、update操作
主键的生成方式:
1、必须手动给定主键值
   assigned
2、用户及hibernate都不管由数据库生,如identity
   native
1、html:select标签
2、过滤器
1、filter
2、RequestProcessor

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值