上一页 1 2 3 4 5 6 7 8 ··· 16 下一页
摘要: 为了进一步优化Hibernate的性能,可以使用:延迟加载技术、管理数据抓取策略、进行缓存管理 等方面考虑来提高Hibernate的性能。1. 延迟加载(load)延迟加载(load)是Hibernate为提高程序执行效率而提供的一种机制,即只有真正使用该对象的数据时才会创建。延迟加载的过程:通过代理(Proxy)机制来实现延迟加载。Hibernate从数据库获取某一个对象数据时、获取某一个对象的集合属性值时,或获取某一个对象所关联的另一个对象时,由于没有使用该对象的数据(除标识符外),Hibernate并不从数据库加载真正的数据,而只是为该对象创建一个代理对象来代表这个对象,这个对象上的所有 阅读全文
posted @ 2013-01-04 15:31 流-星-追-月 阅读(1800) 评论(0) 推荐(0) 编辑
摘要: 深入Hibernate一、Hibernate数据查询HQL:Hibernate查询语言,它是Hibernate提供的一种面向对象的查询语言。(1)在查询语句中设定各种查询条件(2)支持动态绑定参数(3)支持投影查询、分页查询、连接查询、分组查询,子查询(4) 内置了一些聚集函数Hibernate中的Query接口就是专门用来执行HQL语句的查询接口。1.创建查询对象Query query=session.createQuery(“from Dept”);2.执行查询列出结果1)列出所有的结果List<Dept> depts=query.list();for(Dept dept:de 阅读全文
posted @ 2013-01-04 15:25 流-星-追-月 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 1. 组件映射概述 组件类是值类型的,它没有对象标识符属性,在数据库中没有对应的表,它只隶属于另一个持久化类的实例。 把组件类作为持久化类的单个属性来使用 把组件类作为持久化类的集合属性来使用2.组件映射(User-Name)关联的属性是个复杂类型的持久化类,但不是实体即:数据库中没有表与该属性对应,但该类的属性要永久保存的。<component name=”name” class=”com.test.hibernate.domain.Name”> <property name=”initial”/> <property name=”first”/> ... 阅读全文
posted @ 2012-12-25 20:11 流-星-追-月 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 集合映射一、Set<set name=”employees” > <key column=”depart_id”/> <one-to-many class=”Employee”/> <!-- <element type="string" column="name"/> --> <!-- <composite-element class=”YourClass”> <property name=”prop1”/> <property name=”prop2”/&g 阅读全文
posted @ 2012-12-25 09:07 流-星-追-月 阅读(128) 评论(0) 推荐(0) 编辑
摘要: [html] view plaincopyprint? 这里与多对多不同的是借用了一个中间类StudentCourse来达到把多对多的问题转换为多对一的问题,下面来举例具体介绍: 先看看三个最重要的xxx.hbm.xml文件内部信息 Student.hbm.xml <?xml version="1.0"?> Course.hbm.xml <?xml version="1.0"?> StudentCourse.hbm.xml <?xml version="1.0"?> 再看看测试文件TestApp.j 阅读全文
posted @ 2012-12-24 19:39 流-星-追-月 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 在做持久化类的时候的规定:1).有一个默认的构造方法;2).所有的属性都有setter和getter方法3).有一个对象标识符Oid;4).如果有集合属性,则必须定义成接口类型:List、Set、Map。不能定义成类类型HashSet、hashMap、ArrayList等1.Hibernate 高级映射<set>元素:可以映射java.util.Set接口的属性,元素没有顺序且不允许重复。<list>元素:可以映射java.util.List接口的属性,有顺序,需要在集合属性对应的表中用一个额外的索引保存每个元素的位置。<bag> <idbag> 阅读全文
posted @ 2012-12-24 19:37 流-星-追-月 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 1.主要类与接口Hibernate。Hibernate通过Configuration的实例加载配置文件信息,然后读取指定对象关系映射文件的内容并创建SessionFactory实例。SessionFactory接口负责初始化Hibernate。一个SessionFactory实例对应一个数据库。应用程序从SessionFactory中获得Session实例。Session接口Session被称为持久化管理器,负责管理与持久化相关的操作:存储、更新、删除和加载对象。Transaction接口是Hibernate框架的事务接口。它对底层的事务接口做了封装。包括:JDBC API和JTA。2. Se 阅读全文
posted @ 2012-12-18 19:27 流-星-追-月 阅读(144) 评论(0) 推荐(0) 编辑
摘要: JDBC的优点直接底层操作,提供了很简单、便捷的访问数据库的方法,跨平台性比较强。灵活性比较强,可以写很复杂的SQL语句。JDBC的缺点1).因为JAVA是面向对象的,JDBC没有做到使数据能够面向对象的编程,使程序员的思考仍停留在SQL语句上。2).操作比较繁琐,很多代码需要重复写很多次。3).如果遇到批量操作,频繁与数据库进行交互,容易造成效率的下降。Jdbc是一个比较底层的东西,灵活写SQL语句1)、注册驱动2)、获得连接3)、产生一个Statement4)、进行操作返回数据ResultSet 1)、new List对象2)、把ResultSet数据放入List过程中A a = new 阅读全文
posted @ 2012-12-18 19:22 流-星-追-月 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 本文包含两部分内容。第一部分是在eclipse下配置项目自身的连接池,这块有问题的比较多主要解决两个异常。第二部分是在Tomcat下配置全局连接池,这块有官方文档问题较少,简单过一下。本文的样例老规律,您可以在文尾下载到他。其中,测试获取连接写法如下:Java代码 // 获取Content对象 javax.naming.Context ctx = new javax.naming.InitialContext();javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:/comp/env/jdbc/webdb& 阅读全文
posted @ 2012-12-14 16:19 流-星-追-月 阅读(556) 评论(1) 推荐(0) 编辑
摘要: 本文向大家介绍Hibernate C3P0连接池,可能好多人还不了解Hibernate C3P0连接池,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。Hibernate自带的连接池算法相当不成熟。 它只是为了让你快些上手,并不适合用于产品系统或性能测试中。 出于最佳性能和稳定性考虑你应该使用第三方的连接池。只需要用特定连接池的设置替换 hibernate.connection.pool_size即可。这将关闭Hibernate自带的连接池。 例如, 你可能会想用C3P0.Hibernate C3P0连接池是一个随Hibernate一同分发的开源的JDBC连接池, 它位于lib目 阅读全文
posted @ 2012-12-14 16:16 流-星-追-月 阅读(225) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 16 下一页