Hibernate框架
文章平均质量分 80
langgufu314
这个作者很懒,什么都没留下…
展开
-
Hibernate 原汁原味的四种抓取策略(转载)
连接抓取(Join fetching) - Hibernate通过 在SELECT语句使用OUTER JOIN (外连接)来 获得对象的关联实例或者关联集合. --------------------------------------------------------------------------------查询抓取(Select fetching) - 另外发送一条 S...原创 2010-08-23 17:25:52 · 89 阅读 · 0 评论 -
hibernateTemplate session关闭
1.虽然继承了HibernateDaoSupport这个类,但是this.getSession(),获得的session也要在使用后即使关闭,因为这个session是原生的session不是经过sping代理过的,并且还没有事物管理,自动提交,自动关闭连接等功能,所以使用使用getSession()获得session时一定要关闭。 2.使用getHibernateTemplate()中的1.exc...原创 2012-04-18 14:53:34 · 710 阅读 · 0 评论 -
Hql总结 查询结果动态组装成List(map),List(bean),List(list),List(set)等格式(转)
1.//查询整个对象String hql="from Users";Query query = session.createQuery(hql);List<Users> users = query.list();for(Users user: users){System.out.print(user.getName()+" "+user.getPassword());}}...原创 2012-08-17 15:51:53 · 208 阅读 · 0 评论 -
Hibernate中session.getconnection()的替代方法
2010-04-15 10:21 Hibernate中session.connection()的替代方法Hibernate3.3.2版本中getSession().connection()已被弃用,替代方法SessionFactoryUtils.getDataSource(getSessionFactory()).getConnection()来自类org.springf...原创 2012-08-27 16:39:20 · 348 阅读 · 0 评论 -
正确理解Hibernate Inverse (转)
通过Hibernate Inverse的设置来决定是由谁来维护表和表之间的关系。最近有朋友问我Hibernate关于多对多关于删除中间表数据的问题,关键是Inverse的设置,下面引用网友的一篇文章。Inverse是Hibernate双向关系中的基本概念,当然对于多数实体,我们并不需要双向关联,更多的可能会选择单向关联,况且我们大多数人 一般采用一对多关系,而一对多双向关联的另一端:多...原创 2012-12-05 11:02:21 · 102 阅读 · 0 评论 -
剖析Hibernate主键生成几种常用方式
1.assigned:主键由外部程序负责生成,无需Hibernate参与。----如果要由程序代码来指定主键,就采有这种.2.increment: 对 long , short 或 int 的数据列生成自动增长主键。increment主键生成方式的特点是与底层数据库无关性,大部分数据库如 Mysql,MSSQL 和ORACLE等都支持increament生成方式。此方式的实现机制...原创 2012-12-05 20:01:38 · 76 阅读 · 0 评论 -
Hibernate的Example示例查询
org.hibernate.criterion.Example类允许你通过一个给定实例 构建一个条件查询。 Cat cat = new Cat(); cat.setSex('F'); cat.setColor(Color.BLACK); List results = session.createCriteria(Cat.class) .add( Example.create(ca...原创 2013-07-29 17:32:00 · 1187 阅读 · 0 评论 -
Struts2、hibernate和spring下载,整合所需jar包
ssh三个框架各自所有版本下载地址如下Struts framework 下载地址:http://mirror.bjtu.edu.cn/apache/struts/binaries/hibernate framework 下载地址:http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/h...原创 2014-07-04 16:00:48 · 148 阅读 · 0 评论 -
SpringMVC+Hibernate+Spring 简单的一个整合实例
SpringMVC又一个漂亮的web框架,他与Struts2并驾齐驱,Struts出世早而占据了一定优势,我在博客《Struts1+Hibernate+Spring整合实例》中做了一个简单的实例,介绍了SSH1的基本搭建方式,Struts2是根据Struts1发展而来,博客中就没有贴SSH2的例子,只对比了下Struts1和Struts2异同,通过对比,SSH2的搭建基本不在话下了。下面同样做一...原创 2014-07-04 16:14:41 · 954 阅读 · 0 评论 -
六种方式实现hibernate查询,及IDE推荐 (转载)
hibernate查询的6种方法。分别是HQL查询,对象化查询Criteria方法,动态查询DetachedCriteria,例子查询,sql查询,命名查询。 如果单纯的使用hibernate查询数据库只需要懂其中的一项就可以完成想要实现的一般功能,但是从一个点,让我们掌握6中方法,则提供了更多选择。每一种方法都有其适用的情况与前提。HQL查询HQL是hi...原创 2014-07-16 18:13:21 · 118 阅读 · 0 评论 -
Hibernate Criteria的 Criterion,Projection,Restrictions等条件设置
在查询方法设计上可以灵活的根据Criteria的特点来方便地进行查询条件的组装.Hibernate设计了CriteriaSpecification作为Criteria的父接口,下面提供了Criteria和DetachedCriteria.Criteria和DetachedCriteria的主要区别在于创建的形式不一样,Criteria是在线的,所以它是由HibernateSession进行...原创 2014-04-01 16:46:07 · 182 阅读 · 0 评论 -
Hibernate锁机制(悲观锁,乐观锁)
锁(locking)业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“锁”,即给我们选定的目标数据上锁,使其无法被其他程序修...原创 2014-09-24 17:16:50 · 263 阅读 · 0 评论 -
教你使用Hibernate的QBC查询(转载)
转载自:http://developer.51cto.com/art/200906/131743.htmQBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口。我们看下面的示例程序:Criteria criteria=session.createCriteria(Use...原创 2015-12-18 17:19:14 · 309 阅读 · 0 评论 -
No Hibernate Session bound to thread, and configuration does not allow creation
用SessionFactory.getCurrentSession执行hibernate操作时,hibernate的操作默认必须包含在一个transaction中,也就是开始要用session.begionTransaction得到一个transaction 实例(譬如tx), 操作结束时在这个实例上进行事务的提交tx.commit或回滚tx.rollback. 如果这些CRUD操作不被包括在一个...原创 2012-04-18 10:57:04 · 190 阅读 · 0 评论 -
Spring与Hibernate集成中的session问题
1.通过getSession()方法获得session进行操作 Java代码public class Test extends HibernateDaoSupport{ public void save(User user){ this.getSession().save(user); } } 利用这种方式获得的s...原创 2013-04-15 15:53:24 · 139 阅读 · 0 评论 -
hibernate实际开发中用到的东西,其缺点和优点
[color=blue][size=medium]spring在管理hibernate上有独到的地方可以顺手拿来用,我也是想在能不抛弃hibernate的基础上尽可能多挖掘一下它的一些性能提升上的做法,总结大家的看法,基本得出一致结论:复杂查询依靠jdbc的sql或者hibernate提供的本地化sql封装,或者使用spring的管理,都可以提升性能和效率.我认为对于hibernate的性能优化应...原创 2011-08-17 18:08:50 · 312 阅读 · 0 评论 -
Hibernate连接池配置
[size=medium][color=blue]Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在配置连接池时需要注意的有三点:一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在Hibernate3中使用DBCP,建议采用JNDI方式。...原创 2011-09-08 15:48:19 · 114 阅读 · 0 评论 -
generator class="" id详解
[size=medium][color=blue]“assigned” 主键由外部程序负责生成,在 save() 之前指定一个。 “hilo” 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。 “seqhilo” 与hilo 类似,通过hi/lo 算法实...原创 2011-05-31 14:16:03 · 409 阅读 · 0 评论 -
oracle时间字段默认值,hibernate映射
oracle时间字段默认值用sysdate:create table table_name(id number not null,tempdate date default sysdate)创建序列号create sequence sequence_name increate by 1 start with 1 maxvalue 9999;inser...原创 2011-09-27 16:55:41 · 595 阅读 · 0 评论 -
hibernate unsaved-value 意义
当你显式的使用session.save()或者session.update()操作一个对象的时候,实际上是用不到unsaved-value的。某些情况下(父子表关联保存),当你在程序中并没有显式的使用save或者update一个持久对象,那么Hibernate需要判断被操作的对象究竟是一个已经持久化过的持久对象,是一个尚未被持久化过的内存临时对象。例如: Java代码 ...原创 2011-12-30 16:47:26 · 103 阅读 · 0 评论 -
hibernate many-to-one 一些属性说明(outer-join)
many-to-one:描述多对一的一种数据模型,它指定many一方是不能独立存在的,我个人认为many-to-one是NHB中保证数据有效性的最有用的一种映射,通过使用many-to-one能有效的防治孤儿记录被写入到数据表中。在本文描述的例子中,Student类和Classes类之间是多对一关系. 通过many-to-one元素,可以定义一种常见的与另一个持久化类的关联。这种关系模型是多对一...原创 2011-12-30 16:55:46 · 335 阅读 · 0 评论 -
Hibernate继承映射多态的详解
在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据中,Hibernate为我们提供了3中方案:第一种方案:一个子类对应一张表。第二种方案:使用一张表表示所有继承体系下...原创 2012-06-05 17:36:46 · 118 阅读 · 0 评论 -
hibernate的session.connection被session.dowork()替代
Hibernate3.3.2版本中getSession().connection()已被弃用,替代方法SessionFactoryUtils.getDataSource(getSessionFactory()).getConnection()来自类org.springframework.orm.hibernate3.SessionFactoryUtils例子:java.sql.Conn...原创 2012-06-14 10:22:37 · 343 阅读 · 0 评论 -
hibernate里createSQLQuery的addEntity()和setResultTransformer()方法
1.使用SQLQuery对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。最简单的情况下,我们可以采用以下形式:List cats = sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list(); 这个查询指定了:...原创 2012-06-21 10:55:45 · 928 阅读 · 0 评论 -
Hibernate_HQL--实体、属性查询,参数绑定,引用查询(随时温习一遍)
是Hibernate官方推荐的查询模式,比Criteria功能更强大。1) 实体查询:出现类名和属性名必须注意大小写区分;当不同路径下存在相同类名,需要写入在hql中写入包名;查询目标实体存在着继承关系,将查询目标的所有子类的库表记录一起返回。String hql = “from TUser”; Query query = session.createQuery(hql);List...原创 2012-07-05 17:52:37 · 319 阅读 · 0 评论 -
sql和hql中join语句区别,以及hibernate中内连接,迫切内连接,左外连接,迫切左外连接,右外连接的区别(合集)...
第一:sql和hql中join语句区别1,sql中join操作可以用到任何两个表中,其包括inner join,left join,right join,通过on指定连接条件。 2,hql是sql的面向对象版,也包括inner join,left join,right join。但其join只能用在有关联关系的对象间,无关联关系的对象不能使用,且由于有关联关系的对象其关联外键已经在配...2012-07-24 17:39:06 · 324 阅读 · 0 评论 -
Hibernate的generator属性之意义(转)
Hibernate的Generator属性有7种class,本文简略描述了这7种class的意义和用法。1、identity:用于MySql数据库。特点:递增 < id name="id" column="id"> < generator class="identity"/> < /id> 注:对于MySql数据库使用递增序列..原创 2012-04-01 11:06:47 · 104 阅读 · 0 评论 -
hibernatesynchronizer3开发工具的使用方法
1. hibernatesynchronizer3可以帮助自动生成使用Hibernate需要的映射文件和POJO类。它生成的POJO类分为两层,基础的BASE类和继承BASE类的数据表对应类。还可以可选地生成DAO类。映射文件修改后可以根据映射文件重新生成POJO类。2. hibernatesynchronizer3以eclipse插件的形式发布,下载后安装方法同一般插件。我用的版本是3....原创 2014-11-24 14:35:28 · 210 阅读 · 0 评论