hibernate
小步想当程序员
学习学习学习~
展开
-
hibernate:hibernate中session的相关方法(save,persist get,load saveOrUpdate delete evict)
Save()与persist()方法区别 1.save()方法 使一个临时对象变为持久化对象,为对象分配id,在flush缓存时,会发送一条insert语句,在save()方法之前id设置是无效的,持久化对象的id是不能被修改的 2.persist()方法 在persist方法之前,若对象已经有id了,则不会执行insert,而抛出异常 也可以执行ins...原创 2018-09-11 20:57:10 · 269 阅读 · 0 评论 -
hibernate:hibernate hql应用(1)
Hql 基于位置的参数 基于命名的参数 Query对象调用setXXX方法支持方法链的编程风格 FROM Employee e WHERE e.salary > :sal AND e.email LIKE :email ORDER BY e.salary Sql语句使用orderby Hql中参数可以是实体类 根据该实体类的id 使用setEnti...原创 2018-09-24 22:56:57 · 450 阅读 · 0 评论 -
hibernate query的list与iterate方法区别
list: quert.list()方法会将从数据库查找到的数据库放到一级缓存和二级缓存,但是不能从一级和二级缓存读取数据,但是可以从二级缓存的 查询缓存读取数据, iterate: quert.iterate()方法总会先查找数据表的主键,然后根据每一个主键发送对应的sql语句从数据库读取数据,它可以把数据放入一级和二 级缓存,也可以从一级和二级缓存读取数据,但是每次读取都会发送...转载 2018-09-27 23:13:10 · 243 阅读 · 0 评论 -
hibernate hql应用(2)
命名查询:基于配置文件中的query(Employee.hbm.xml) 投影查询 返回的是List<Object[]> 每一个Object[]内含一条记录中的不同属性 该方法返回的是List<Employee>,需要在实体类中定义相应的构造器,还需要定义无参的构造器。 迫切左外连接 左外连接 返回的list 每个元素是一...原创 2018-09-27 23:15:50 · 101 阅读 · 0 评论