Hibernate
文章平均质量分 90
GreenOrange_s
这个作者很懒,什么都没留下…
展开
-
ssh整合问题总结--使用HibernateTemplate实现数据分页展示
在进行大量的数据展示时,必须要使用分页查询,第一次使用在SSH框架整合中使用分页查询,遇到了一些问题,下面以我练习的项目为例详细介绍,如何在Spring+hibernate(+action)的环境下完成数据的分页查询. 在utils包下新建一个pageBean(这个实体类用于封装当前页面的数据集合,以及和page相关的参数): public class PageBean {转载 2017-11-15 16:23:44 · 223 阅读 · 0 评论 -
hibernate复合主键映射
所谓复合主键就是在一张数据库表中,主键有两个或者多个,在日常开发中会遇到这样一种情况,数据库中的某张表需要多个字段列才能唯一确定一行记录,这时表需要使用复合主键。这是我们以前在hibernate配置中没有遇到过的情况。面对这样的情况Hibernate为我们提供了两种方式来解决复合主键问题,下面让我们来看一下这两种情况: 1:将复合主键对应的属性与实体其他普通属性放在一起 2:转载 2017-11-25 19:46:58 · 126 阅读 · 0 评论 -
hibernate 懒加载问题
异常: org.hibernate.LazyInitializationException: could not initialize proxy - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57) at org.hibern转载 2017-11-25 21:21:43 · 235 阅读 · 0 评论 -
spring整合hibernate事务管理器配置
http://www.cnblogs.com/rushoooooo/archive/2011/08/28/2155960.html 链接归纳的很详细。 首先在/WEB-INF/applicationContext.xml添加以下内容: bean id="transactionManager" class="org.springframework.orm.hibernate3转载 2017-11-26 12:54:22 · 2553 阅读 · 0 评论 -
Hibernate update 只更新被修改字段
Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍。 如果我们只更改了state属性,而Hibernate 的sql语句 把所有字段都更改了一次。 这样要是我们有字段是文本类型,这个类型存储的内容是几千,几万字,这样效率会很低。 那么怎么只更改我们更新的转载 2017-11-26 13:17:05 · 852 阅读 · 0 评论 -
Hibernate中fetch和lazy介绍
fetch ,指定关联对象抓取的方式,可以设置fetch = "select" 和 fetch = "join"。select方式时先查询返回要查询的主体对象(列表),再根据关联外键id,每一个对象发一个select查询,获取关联的对象,形成n+1次查询;而join方式,主体对象和关联对象用一句外键关联的sql同时查询出来,不会形成多次查询。在映射文档中定义的抓取策略将会有产生以下影响:(1)通过...转载 2018-03-07 15:41:20 · 148 阅读 · 0 评论 -
hibernate抓取策略fetch=select /join/subselect
一、hibernate抓取策略(单端代理的批量抓取fetch=select(默认)/join)测试用例:Student student = (Student)session.get(Student.class, 1); System.out.println(student.getName()); System.out.println(student.getClasses().getNa...转载 2018-03-07 15:41:57 · 242 阅读 · 0 评论 -
数据库查询n+1问题
简介在orm框架中,比如hibernate和mybatis都可以设置关联对象,比如user对象关联dept 假如查询出n个user,那么需要做n次查询dept,查询user是一次select,查询user关联的 dept,是n次,所以是n+1问题,其实叫1+n更为合理一些。mybatis配置UserMapper.xml<resultMap id="BaseResultMap" type="t...转载 2018-03-09 20:13:47 · 955 阅读 · 0 评论 -
Hibernate各种主键生成策略与配置详解
1、assigned主键由外部程序负责生成,在 save() 之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免。<id name="id" column="id"><generator class="ass...转载 2018-03-05 20:58:19 · 85 阅读 · 0 评论