Hibernate
小菜的粉丝
正在学JAVA,希望和大家共同进步!
展开
-
Hibernate常用查询语句(hql)
hibernate查询语言hql在hql中关键字不区分大小写,但是属性和类名区分大小写1、简单属性查询【重要】 * 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致 * 多个属性查询,返回的集合元素是对象数组,数组元素的类型和对应的属性在实体类中的类型一致 数组的长度取决与select中属性的个数 * 如果认为返回数组不够对象化,可以采用hql动态实例化Stu原创 2009-03-07 15:40:00 · 15904 阅读 · 2 评论 -
Hibernate 疑难异常及处理
1、a different object with the same identifier value was already associated with the session。 错误原因:在hibernate中同一个session里面有了两个相同标识但是是不同实体。 解决方法一:session.clean() PS:如果在clean操作后面又进行了saveOrUpdate(ob转载 2009-11-19 21:12:00 · 512 阅读 · 0 评论 -
hibernate基于注解的主键设置
基于注解的hibernate主键设置:@Id. 那么它的生成规则是什么呢?是由@GeneratedValue来规定的。 我们先来看看它是如何定义的:Java代码 <a title="复制代码" onclick="function onclick(){dp.sh.Toolbar.CopyToClipboard(this);return false;}" href="http:转载 2010-04-25 20:50:00 · 7208 阅读 · 0 评论 -
病理特征:Caused by: org.hibernate.HibernateException: cannot simultaneously fetch multiple bags,
<br />堆栈信息:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initSystemDataBySpringListeren': Injection of resource fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error crea转载 2010-07-30 16:25:00 · 1512 阅读 · 0 评论 -
Hibernate之deleted object would be re-saved by cascade 异常的解决
在Hibernate中,删除存在关联关系的一个对象时,会出现 org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)这个异常解决方案如下:方法1 删除Set方的cascade方法2 解决关联关系后,再删除 : Attachment attachment = attachments.get(i);转载 2010-08-09 14:14:00 · 1268 阅读 · 0 评论 -
Open Session In View是个双刃剑
<br />Open Session In View是个双刃剑在没有使用Spring提供的Open Session In View情况下,因需要在service(or Dao)层里把session关闭,所以lazy loading 为true的话,要 <br /><br />在应用层内把关系集合都初始化,如 company.getEmployees(),否则Hibernate抛session already closed Exception; Open Session In <br转载 2010-08-24 16:35:00 · 945 阅读 · 0 评论 -
Junit+spring+hibernate HibernateDaoSupport测试问题
<br />详见:http://blog.csdn.net/ms2146/archive/2010/04/29/5543279.aspx转载 2011-02-22 22:31:00 · 821 阅读 · 0 评论 -
Spring2.5.6 AnnotationSessionFactoryBean自动扫描注解类
<br /> 如果你使用早前版本的Spring,又恰好采用了Annotation注解方式(而非传统XML方式)配置Hibernate对象关系映射,那么在通过org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean配置sessionFactory时,你一定对annotatedClasses、annotatedPackages有一种说不出的胸闷的感觉,如此以高配置性见长的Spring,怎么在这一个小小的环节上就不能做得再原创 2011-02-22 22:30:00 · 3462 阅读 · 1 评论 -
Hibernate查询关联对象是否为空的语句
<br />一年前发的帖子:http://topic.csdn.net/u/20100510/15/284817f8-820d-434d-8e15-1c3099bbcde3.html,都忘记这问题了,今天突然看到消息有人回复了,看下了,有人给解决了,可开心了,纪念下。<br />Person类和User类一一对应,映射关系如下view plaincopy to clipboardprint?private User user; @OneToOne(cascade={CascadeType.ALL}, ma转载 2011-06-01 11:36:00 · 1641 阅读 · 0 评论 -
Hibernate 实体关联关系映射----总结
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/39398Hibernate 实体关联关系映射----总结 花了三天的业余时间,终于写完了Hibernate关联关系映射的所有实例,感觉还应该总结一下。转载 2009-11-06 18:47:00 · 586 阅读 · 0 评论 -
hibernate继承映射
Hibernate的继承映射包含了三种不同的策略:每簇类使用一个表; 每个子类一个表; 每个具体内一个表(有限制)。假设我们有四个类Animal,Dog,Cat,其代码如下:文件名:Animal.java<img id="Codehighlighter1_13_125_Open_Image" onclick="function onclick(){this.转载 2009-11-06 17:48:00 · 437 阅读 · 0 评论 -
hibernate动态模型(Dynamic models)
动态模型的使用也可以不用设置:session = sessionFactory.openSession();session = session.getSession(EntityMode.Map);Session能自动判断。 运行期的持久化实体没有必要一定表示为像POJO类或JavaBean对象那样的形式。Hibernate也支持动态模型 (在运行期使用Map的Ma转载 2009-11-08 13:01:00 · 2211 阅读 · 0 评论 -
Hibernate数据更新——Session.update/Session.saveOrUpdate
关键字: hibernate update saveorupdateHibernate数据更新——Session.update/Session.saveOrUpdate Session.update执行步骤: 1. 首先根据待更新实体对象的Key,在当前session的内部缓存中进行查找,如果发现,则认为当前实体对象已经处于Persistent状态,返回。从这一点可以看出,对一个Persist转载 2009-04-14 20:36:00 · 1317 阅读 · 0 评论 -
Hibernate3的配置参数汇总
SQL方言1、Hibernate JDBC属性属性名 用途 hibernate.connection.driver_class jdbc 驱动类 hibernate.connection.url jdbc URLhibernate.connection.username 数据库用户hibernate.connection.转载 2009-04-14 20:37:00 · 611 阅读 · 0 评论 -
hibernate配置模板
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> jdbc:mysql://lo原创 2009-09-20 21:25:00 · 728 阅读 · 0 评论 -
getHibernateTemplate()和getSession()的区别
用getSession()方法来操作数据库记录和用getHibernateTemplate()这两个方法究竟有什么区别呢?1.使用getSession()方法你只要继承sessionFactory,而使用getHibernateTemplate()方法必须继承HibernateDaoSupport当然包括sessionFactory,这点区别都不是特别重要的,下面这些区别就很重要了2.ge转载 2009-09-23 21:22:00 · 547 阅读 · 0 评论 -
hibernate中get和load,find的区别
get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null2.从检索执行机制上对比:get方法和find方法都是直接从数据库中检索而load方法的执行则比较复杂■转载 2009-09-23 23:57:00 · 1039 阅读 · 0 评论 -
OpenSessionInView详解
OpenSessionInViewFilter是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束,具体是通过一个Filter来实现的。 由于Hibernate引入了Lazy Load特性,使得脱离Hibernate的Session周期的对象如果再想通过getter方法取到其转载 2009-09-24 00:31:00 · 3002 阅读 · 1 评论 -
hibernate中lazy的使用
hibernate中lazy的使用lazy,延迟加载Lazy的有效期:只有在session打开的时候才有效;session关闭后lazy就没效了。lazy策略可以用在:* 标签上:可以取值true/false* 标签上,可以取值true/false,这个特性需要类增强* /等集合上,可以取值为true/false/extra* /等标签上,可以取转载 2009-09-24 22:23:00 · 509 阅读 · 0 评论 -
[转]hibernate中的 bag--解释的太好了.
Bag是集合,与Set不同的是,Bag允许重复的元素,在Java的标准API中并没有提供Bag容器,Hibernate提供自己的Bag实现,允许您将List映射为Bag。您可以如下定义User类别,其中的List成员将被用作Bag来使用,而不管物件在List容器中的顺序:User.java package onlyfun.caterpillar;import java.u转载 2009-11-08 11:43:00 · 502 阅读 · 0 评论 -
hibernate延迟加载的传说级错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session
<br /><br />好多人都会遇到这个错误。<br />http://hi.baidu.com/itroad/blog/item/6d12f01fe0b8dc0d314e1531.htmlcould not initialize proxy - no Session2008年12月03日 星期三 06:59 P.M.<br /> <br />原文地址:http://www.wozaishuo.com.cn/article.asp?id=367<br />在<many-to-on>中这错误很常见,字面意义转载 2011-04-30 22:03:00 · 2011 阅读 · 0 评论