单向一对多 多读多

什么叫做单向?

就是在entity中体现为两个持久化对象中其中一个对象包含另一个对象的对象或者对象的集合.

什么叫做双向?

两个持久化对象相互关联,entity中都有对方的集合集合或者对象;

在hbm.xml中主要代码为

复制代码

复制代码
复制代码

复制代码
test代码块

复制代码
@Test
public void addTest(){
//创建员工对象
Emp emp=new Emp();
emp.setEmpname("未知");
//创建工程对象
Project pro=new Project();
pro.setPname("花园");

//将员工对象添加到工程 反之 同理
pro.getEmps().add(emp);
emp.getPros().add(pro);

//保存
session.save(pro);
session.save(emp);

}

时间: 2024-10-24 23:18:48

单向一对多 多读多的相关文章

7、单向一对多的关联关系(1的一方有n的一方的集合属性,n的一方却没有1的一方的引用)

单向一对多的关联关系 关联特点:1的一方有n的一方的集合属性,n的一方却没有1的一方的引用 比如:Customer对Order是一对多的关联关系,则Customer中有Order的集合属性,而Order中却没有对Customer的引用.这样可以通过客户检索到其所有的订单信息,却不能够由订单得到其所属的客户. 映射单向一对多的关联关系有两个要点: 1.利用@OneToMany注解进行单向一对多的映射: 2.利用@JoinColumn来映射外键列的名称: 注意的点: 1.@OneToMany的默认检

Hibernate单向“一对多”关联

1. 基于连接表的单向"一对多"关联,应该优先被采用其中指定many-to-many的unique="true",为单向"一对多",不指定就是单向"多对多" <class name="Person">    <id name="id" column="personId"><generator class="native"

Hibernate5.2关联关系之单向一对多(一)

Hibernate5.2之单向一对多 一. 简介    Hibernate中最复杂的应该就是各种关联(单向一对多.单向多对一.双向一对多.一对一.多对多)关系的映射,于是笔者就想着去写一些关于Hibernate相关的系列文章,可能最近今年项目上基本上没怎么用Hibernate,包括身边的很多人都在唱衰Hibernate,觉得他笨重.低效,但是笔者认为这都不影响其在我心目中的地位,以及他当初给笔者所带来的震撼,也影响千千万万的程序员.本系列博客中没有关于Hibernate原理性的东西的讲解,只是一

(十一)Hibernate中的多表操作(1):单向一对多

一.单向一对多() 案例一(用XML文件配置): 一个会员(Member)可以有多个订单(Order),加载会员的时候自动加载订单,但是订单无法查看会员信息, public class Member { private String id; private String name; private Integer age; private Set<Order> orders = new HashSet<Order>(); //该Set集合里存放的是"多"方,加载

JPA 单向一对多关联关系

映射单向一对多的关联关系 1.首先在一的一端加入多的一端的实体类集合 2.使用@OneToMany 来映射一对多的关联关系3.使用@JoinColumn 来映射外键列的名称4.可以使用@OneToMany的fetch 属性来修改默认的加载策略5.可以通过@OneToMany的cascade 属性来修改默认的删除策略6.cascade={CascadeType.REMOVE} 会把主表和从表的数据都删除 如下代码: /** *数据库持久化类 * @author z * */ @Table(name

Hibernate4.x之映射关系--单向一对多

在领域模型中,类与类之间最普遍的关系就是关联关系在UML中,关联是有方向的 以Customer和Order为例:一个用户能发出多个订单,而一个订单只能属于一个客户.从Order到Customer的关联是多对一关联:而从Customer到Order是一对多关联 单向n-1 单向n-1关联只需从n的一端可以访问到1的一端 域模型:从Order到Customer的多对一单向关联需要在Order类中定义一个Customer属性,而在Customer类中无需定义存放Order对象的集合属性 关系数据模型:

Hibernate中单向一对多删除级联数据问题

public static void main(String[] args) { // test(); // test1(); // test2(); // test3(); // test4(); // test5(); // 测试one2many 单向 test6(); // 测试单向 维护关系 delete删除操作 // test7(); // 测试单向 维护关系 delete更新操作 // test8(); } private static void test8() { // 获得 se

hibernate单向一对多级联操作

主类  User     单方 从类  UserIp  多方要求结果:操作USER类,自动添加USERIP并维护关联关系 为了节省篇幅,忽略了get/set方法 请自行添加 User类代码: public class User { /**用户的ID*/    private long id; /**登录用户名*/    private String username;        /**登录密码*/    private String password; /**IP集合*/    privat

Hibernate一对多单向关联和双向关联映射方法及其优缺点 (待续)

一对多关联映射和多对一关联映射实现的基本原理都是一样的,既是在多的一端加入一个外键指向一的一端外键,而主要的区别就是维护端不同.它们的区别在于维护的关系不同: 一对多关联映射是指在加载一的一端数据的同时加载多的一端的数据 多对一关联映射是指在加载多的一端数据的同时加载一的一端的数据 而单向一对多关联映射是在一的一端维护关系的,具有以下的缺点: 必须先保存多的一端后才可以保存一的一端,所以在保存多的一端时多的一端不知道一的一端是否 存在相应的数据,所以只能将维护的关系字段设置为null,如果为非空