hibernate
文章平均质量分 51
卢艳亮
没有十全十美,只有不断追求
展开
-
openSession与getCurrentSession区别
1、getCurrentSession创建的session会绑定到当前线程,而openSession不会。 2、getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭。 这里getCurrentSession本地事务(本地事务:jdbc)时,要在配置文件里进行如下设置 如果使用的是本地事务(jdbc事务):thread 如果使用的原创 2014-03-30 18:10:43 · 656 阅读 · 0 评论 -
OpenSessionInViewFilter 的配置及替代方案
Spring 为我们提供了一个叫做 OpenSessionInViewFilter 的过滤器,他是标准的 Servlet Filter 所以我们把它按照规范配置到 web.xml 中方可使用。使用中我们必须配合使用 Spring 的 HibernateDaoSupport 来进行开发,也就是说,我们的dao层的类都要继承于 HibernateDaoSupport,从中由 Spring 来控制 Hi转载 2015-05-19 16:48:15 · 270 阅读 · 0 评论 -
spring+hibernate返回Map对象
@Override public Map getVenueInfo(final long venActivityId) { return hibernateTemplate .execute(new HibernateCallback>() { @SuppressWarnings("unchecked") @Override public Map doInHi原创 2015-05-17 16:09:24 · 697 阅读 · 0 评论 -
hibernate中的id生成器
1) assigned 主键由外部程序负责生成,无需Hibernate参与。 2) hilo 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。 3) seqhilo 与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle。 4) increment 主键按数原创 2015-05-27 09:45:44 · 13205 阅读 · 0 评论 -
Hibernate对象的三种状态
Hibernate对象有三种状态,分别是:瞬时/临时(Transient)、 持久态(Persistent)、游离态(Detached)。 瞬时/临时状态:创建了一个对象,但是这个对象没有在session范围内,则称这个对象为瞬时/临时状态。 持久化状态:是指对象被持久化到Session对象被销毁之前的状态,此时对象在Session的缓存中。原创 2015-05-20 11:11:32 · 334 阅读 · 0 评论 -
hibernate操作数据库的存储过程或函数
package com.wm.daoTest; import java.sql.CallableStatement; import java.sql.Connection; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import o原创 2014-09-24 14:33:03 · 1746 阅读 · 0 评论 -
hibernate注解方式用sequence生成主键
注:我是在postgre数据库中做的测试原创 2014-03-31 17:43:00 · 1995 阅读 · 0 评论 -
Spring中如何配置Hibernate事务
为了保证数据的一致性,在编程的时候往往需要引入事务这个概念。事务有4个特性:原子性、一致性、隔离性、持久性。 事务的种类有两种:编程式事务和声明式事务。编程式事务就是将事务处理放在程序中,而声明式事务则是通过配置文件或者注解进行操作。 在Spring中有声明式事务的概念,通过和Hibernate类似框架的集成,可以很好的完成声明式事务。转载 2014-03-31 10:25:53 · 379 阅读 · 0 评论 -
hibernate的createSQLQuery
这里,结果集字段名被假设为与映射文件中指明的字段名相同。对于连接了多个表的查询,这就可能造成问题,因为可能在多个表中出现同样名字的字段。下面的方法就可以避免字段名重复的问题: List cats = sess.createSQLQuery( " select {cat.*} from cats cat " ).addEntity( " cat " , Cat. class ).list();原创 2014-03-29 22:28:24 · 455 阅读 · 0 评论 -
save与persist的区别
hibernate中save和persist都是用来保存对象的,它们所接受的参数都一样。 1、使用save保存对象时: (1)从线程中获得session,并开启事务,保存成功 (2)从线程中获取session,但不开启事务,保存失败 失败提示信息 (3)打开session,并开启事务,保存成功 (4)打开session,但不开启事务,运行成功,但是数据库中没有数据。原创 2014-03-30 21:12:49 · 994 阅读 · 0 评论 -
Hibernate 枚举
@SuppressWarnings("serial") @Entity @Table(name = "ven_venue") public class VenueEntity implements java.io.Serializable { private VenueStatus status; @Enumerated(EnumType.ORDINAL) @Column(name = "s原创 2015-06-04 14:41:47 · 368 阅读 · 0 评论