
Hibernate
文章平均质量分 78
dy_paradise
这个作者很懒,什么都没留下…
展开
-
用Hibernate实现领域对象的自定义字段
导言 在开发企业级业务应用(企业规模)时,客户往往要求在不修改系统源代码的情况下对应用对象模型的扩展性提供支持。利用可扩展域模型可以实现新功能的开发,而不需要额外的精力和成本应用的使用周期将被延长; 外部因素改变时,系统工作流也可以随之被修改; 已经被部署的应用可以被“设定”,使其符合企业的特定情况。 完成以上功能需求最简单、最具成本效益的方法应该是在应用中实现支持自原创 2009-01-03 12:07:00 · 1878 阅读 · 2 评论 -
OpenSessionInView 模式用法探讨
<br />在没有使用Spring提供的Open Session In View情况下,因需要在service(or Dao)层里把session关闭,所以lazy loading 为true的话,要在应用层内把关系集合都初始化,如 company.getEmployees(),否则Hibernate抛session already closed Exception。 <br /> Open Session In View提供了一种简便的方法,较好地解决了lazy loading问题。它有两种配置方式O转载 2010-10-12 16:20:00 · 556 阅读 · 0 评论 -
Hibernate进行大数据量性能测试
<br />近日为是否在项目中使用Hibernate进行大数据量的性能测试,有一些总结, <br />1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session.clear()或者session. Evict(Object) 在处理过程中,清除全部的缓存或者清除某个对象。 <br />2) 对大数据量查询时,慎用list()或者iterator()返回查询结果, <br /> 1. 使转载 2010-09-08 17:53:00 · 766 阅读 · 0 评论 -
failed to lazily initialize a collection of role
做Many-to-One的时候遇见的错误,级联检索不允许。failed to lazily initialize a collection of role: no session or session was closed试验了一下发现了几个解决方法:1、是把对应一对多的那两个列lazy=true改为lazy=false即可2、对于查询中如果用的是xxx.load(class,id)则改为xxx,转载 2010-01-16 13:58:00 · 1393 阅读 · 0 评论 -
Hibernate的generator属性之意义
Hibernate的Generator属性有7种class,本文简略描述了这7种class的意义和用法。1、identity:用于MySql数据库。特点:递增 id name="id" column="id"> generator class="identity"/> /id> 注:对于MySql数据库使用递增序列时需要在建表时对主键指定为auto_increme原创 2009-08-10 16:19:00 · 580 阅读 · 0 评论 -
Hibernate之中inverse与cascade的异同
最近学习hibernate,重点研究了hibernate属性的inverse与cascade的联系与区别。如下,是本人的心得。 1、到底在哪用cascade="..."? cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或删除对像时更方便一些,只要在cascade的源头上插入或是删除,所有 cascade的关系就会被自己动的插入或是原创 2008-12-25 11:38:00 · 653 阅读 · 0 评论 -
[*****] hibernate 中lazy、inverse、cascade属性
在hibernate中一对多关联时会经常用到inverse和cascade属性 ,inverse 有两个值 true ,false ;如果设置为true 则表示对象的状态变化不会同步到数据库 ;设置false就相反拉;cascade 有五个选项 分别是: all ,delete ,none,save-update,delete-orphan ; all : 所有情况下均进行关联操作转载 2009-02-18 11:00:00 · 1842 阅读 · 3 评论 -
hibernate:one-to-one
one-to-one在hibernate中可以用来作为两张表之间的主键关联,这也是hibernate中主键关联的一种用法,这样在一张表中的ID,在生成另外一张表的同时回自动插入到相应的ID字段中去,相应的XML文件设置比较简单,举例如下: 这个是写在User的XML配置文件中的 --> 相应的User bean(PO)中也要添加属性 com.xx.Address address-->转载 2009-02-20 14:31:00 · 545 阅读 · 0 评论 -
Hibernate一对多双向关联及inverse的作用
在测试Hibernate的一对多双向关联映射时,碰到很有趣的问题,跟inverse属性直接相关。1、People.hbm.xmlhibernate-mapping default-lazy="false"> class name="com.persistent.People" table="people"> id name="id" column="p原创 2009-02-04 17:18:00 · 923 阅读 · 0 评论 -
ThreadLocal的介绍(利用变量副本实现多线程访问同一变量)
早在Java 1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然ThreadLocal非常有用,但是似乎现在了解它、使用它的朋友还不多。 ThreadLocal是什么 ThreadLocal是什么呢?其实ThreadLocal并非是一转载 2008-11-13 14:41:00 · 4012 阅读 · 1 评论 -
一个简单的Hibernate入门示例
在 Java Web 开发应用中,Hibernate可以作为应用程序的数据访问层。这里以一个简单用户注册用例来说明如何开发一个Hibernate的应用程序。该例子的需求:把注册页面输入的用户名、密码、性别、年龄方面的信息存入数据库中。如果采用经典的MVC模式的话,那么各层的构建如下: 视图层:注册页面(register.jsp)、反馈信息页面(reply.jsp) 控制层:RegisterSe转载 2008-11-13 13:16:00 · 1384 阅读 · 0 评论 -
hibernate3中出现 could not initialize proxy - no Session 错误的解决办法以及lazy load的介绍
<br />异常:<br />org.hibernate.LazyInitializationException: could not initialize proxy - no Session<br />at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)<br />at org.hibernate.proxy.AbstractLazyInitializer.getImpleme转载 2010-10-12 16:20:00 · 780 阅读 · 0 评论