博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate学习
阅读量:4110 次
发布时间:2019-05-25

本文共 1542 字,大约阅读时间需要 5 分钟。

配置本地提示文件window–>preferences–>搜索xml catalog–>点user specified–>

add–>key type选uri key填http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd–>Location找hibernate-mapping-3.0

public class Demo4 {		/**	 * 按条件的查询,写法很麻烦	 */	@Test	public void run6(){		Session session = HibernateUtils.getSession();		Transaction tr = session.beginTransaction();		// 先获取到Criteria接口		Criteria criteria = session.createCriteria(User.class);		// 添加查询的条件  select * from t_user where age > 18		// Criterion 是Hibernate提供的条件查询的对象,想传入条件的使用的工具类Restrictions				// Restrictions提供的静态的方法,拼接查询的条件		criteria.add(Restrictions.gt("age", 18));		// 继续添加条件		criteria.add(Restrictions.like("name", "%小%"));				// 没有添加条件,查询所有的数据		List
list = criteria.list(); System.out.println(list); tr.commit(); session.close(); }

数据库中一对多(1:n)关系

在javaBean中的表示,以客户与联系人为例
在1方添加private Set linkmans=new HashSet();
在n方添加private Customer customer;

/** * 多对多的测试 * @author Administrator */public class Demo2 {		/**	 * 现在:张三用户,有2个角色,经理和演员	 * 让张三没有演员角色	 */	@Test	public void run3(){		Session session = HibernateUtils.getCurrentSession();		Transaction tr = session.beginTransaction();		// 查询张三用户		User u1 = session.get(User.class, 1L);		// 查询角色		Role r2 = session.get(Role.class, 2L);		u1.getRoles().remove(r2);		tr.commit();	}

HQL语句

内连接
HQL内连接查询语句 例 List list=session.creatQuery(“from Customer c inner join c.linkmans”) 返回的的object数组即object[]

去除重复结果 例List list=session.creatQuery(" from Customer c inner join fetch c.linkmans") 返回的是实体对象即迫切连接

然后再Set set= new HashSet(list) //fetch仅在HQL中存在,用处将返回的数据变为实体

转载地址:http://dcosi.baihongyu.com/

你可能感兴趣的文章
git 生成秘钥连接远程仓库
查看>>
远程服务器跟本地单文件传输
查看>>
生成公钥,秘钥
查看>>
HTTP协议详解以及URL具体访问过程(转载)
查看>>
PHP 内存管理及垃圾回收机制
查看>>
redis 安装配置
查看>>
封装GetQueryString()方法来获取URL的value值
查看>>
HTTP请求中的form data和request payload的区别
查看>>
线程池工作队列饱和策略
查看>>
mysql中使用聚合函数结果集为空,仍显示size为1,所有元素为Null问题
查看>>
设计模式心法之单一职责原
查看>>
Spring思想理解
查看>>
web应用中浏览器与服务端的编码和解码
查看>>
Http协议中的CharacterEncoding、Content-Encoding和Transfer-Encoding
查看>>
ftp传输图片损坏原因
查看>>
vue 使用localstorage实现面包屑
查看>>
vue 路由跳转到本页面,ts 监听路由变化
查看>>
[Unity工具]python导表工具03:json转lua
查看>>
[Unity优化]包体积01:查找资源依赖
查看>>
【JavaScript】当我们尝试用JavaScipt测网速
查看>>