君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
  1057 随笔 :: 381 文章 :: 141 评论 :: 169万 阅读

随笔分类 -  Hibernate&NHibernate

1 2 下一页

该文被密码保护。
posted @ 2013-09-07 01:46 刺猬的温驯 阅读(2) 评论(0) 推荐(0) 编辑

摘要:缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。基本信息 缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。 Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:内置缓存和外置缓存。Sessi.. 阅读全文
posted @ 2013-08-27 00:50 刺猬的温驯 阅读(426) 评论(0) 推荐(0) 编辑

摘要:转载http://blog.163.com/among_1985/blog/static/2750052320126178159568/概述我们都知道Hibernate可以支持多种数据库,这种支持是通过对于不同数据库,配置对应数据库的方言完成的。在早期的Hibernate中,需要通过配置hibernate.dialect参数,指定当前使用的数据库方言。对于需要同时支持多种数据库的产品来说,每切换一个数据库,就要重新配置以下dialect参数会显得很麻烦。于是,DialectResolver工厂类就诞生了。简单的说,DialectResolver以及其子类的作用,是根据数据库的MetaData, 阅读全文
posted @ 2012-09-30 00:56 刺猬的温驯 阅读(674) 评论(0) 推荐(1) 编辑

摘要:转载http://blog.163.com/among_1985/blog/static/2750052320126168394939/在Hibernate 4.1.4中,其中使用的数据库连接均由ConnectionProvider.getConnection()方法获取。ConnectionProvider是个接口,其各个子类实现实际数据库连接的获取和释放。在hibernate的框架中ConnectionProvider以及其子类,使用适配器模式,将各种不同类型数据源的适配工作,交给子类进行。类结构如下:ConnectionProviderConnectionProvider是org.hib 阅读全文
posted @ 2012-09-30 00:54 刺猬的温驯 阅读(767) 评论(0) 推荐(0) 编辑

摘要:转载http://cuishen.iteye.com/blog/427921大家都知道hibernate是在JDBC基础上的封装,那么它的数据库连接是怎样实现的呢?带着这个疑问最近研究了下hibernate的源代码,代码还是比较简单的,但是做的很通用,好现在一起来看下源代码hibernate的数据库连接类都放在org.hibernate.connection包内,对于数据库连接类hibernate称其为ConnectionProvider,对!就是连接提供者,org.hibernate.connection.ConnectionProvider只是个供hibernate使用的接口,通过该接口的 阅读全文
posted @ 2012-09-30 00:50 刺猬的温驯 阅读(2119) 评论(0) 推荐(0) 编辑

摘要:转载http://www.iflym.com/index.php/code/resolve-hibernate-result-transformer-by-query.html任何包装jdbc的框架,都离不开将最终的数据封装成java对象的一个过程。在jdbc中,取得的数据被封装在resultset中,通过迭代resultset来一次次的取得相应的字段和数据值。数据库框架始终需要解决的问题在于将resultset中的字段名称信息和相应的字段值对应起来,然后封装成对象,最后将所有的对象形成一个集合,并最终返回给调用者。 任何数据库框架都逃不过这中间的处理逻辑,只不过如何将这些逻辑分散在上下的处理 阅读全文
posted @ 2012-09-30 00:48 刺猬的温驯 阅读(7391) 评论(0) 推荐(0) 编辑

摘要:在配置Middlegen Hibernate3过程中遇到的一些问题1. Couldn't connect to database: encoding not supported!!解决办法:删除之前的数据库jar包,引入附件中的数据库包db2java.jar、db2jcc_javax.jar、db2jcc.jar2.成功生成xml后再生成java文件时异常doesn't support the "output" attribute 与net/sf/hibernate/MappingException 因为引用的是Hibernate3要与之前的Hibernat 阅读全文
posted @ 2012-09-16 17:01 刺猬的温驯 阅读(893) 评论(0) 推荐(0) 编辑

摘要:下载Middlegen-Hibernate:http://prdownloads.sourceforge.net/hibernate/下载ant:http://archive.apache.org/dist/ant/分别解压设置环境变量中的path把ant解压后目录的bin目录添加进去(别忘了和前一个项用;分隔)把jtds驱动复制到Middlegen-Hibernate的解压后的目录的lib目录中在Middlegen-Hibernate的目录的config\database中打开mssql.xml改成<propertyname="database.driver.file&quo 阅读全文
posted @ 2012-09-16 15:35 刺猬的温驯 阅读(841) 评论(0) 推荐(0) 编辑

摘要:了解另外一种轻量级ORM框架地址:http://www.easyjf.com/easydbo/download.htm SVN::http://svn.easyjf.com/repository/easyjf/easydbo/序言 EasyDBO是一个非常适合中小型软件数据库开发的数据持久层框架,系统参考hibernate、JDO等,结合中小项目软件的开发实际,实现简单的对象-关系数据库映射。本文主要简介EasyDBO的使用方法,作为初学者的快速上手指南。由于EasyDBO是一个不断更新的开源项目,本教程中一些新特性、功能的介绍及应用将不定期的在EasyDBO官方网站上提供。目录:序言一... 阅读全文
posted @ 2012-09-05 18:12 刺猬的温驯 阅读(384) 评论(0) 推荐(0) 编辑

摘要:在利用Hibernate开发DAO模块时,我们和Session打的交道最多,所以如何合理的管理Session,避免Session的频繁创建和销毁,对于提高系统的性能来说是非常重要的。我们知道Session是由SessionFactory负责创建的,而SessionFactory的实现是线程安全的,多个并发的线程可以同时访问一个SessionFactory并从中获取Session实例,那么Session是否是线程安全的呢?很遗憾,答案是否定的。Session中包含了数据库操作相关的状态信息,那么说如果多个线程同时使用一个Session实例进行CRUD,就很有可能导致数据存取的混乱,你能够想像那些 阅读全文
posted @ 2012-09-05 12:34 刺猬的温驯 阅读(393) 评论(0) 推荐(0) 编辑

摘要:之前我们使用的是HibernateTemplate来进行对象的持久化的,其实在DAO实现类中我们还可以使用Hibernate的上下文Session来持久化对象。也就是通过SessionFactory对象的getCurrentSession()对象来获得Session,然后通过Session来进行操作。 我们调整一下代码:Java代码packageorg.ourpioneer.course.dao;importjava.util.List;importorg.hibernate.Query;importorg.hibernate.SessionFactory;importorg.ourpione 阅读全文
posted @ 2012-05-21 09:42 刺猬的温驯 阅读(297) 评论(0) 推荐(0) 编辑

摘要:今天看Alef Arendsen的一篇blog。一点收获!http://blog.interface21.com/main/2007/06/26/so-should-you-still-use-springs-hibernatetemplate-andor-jpatemplate/在spring2.0之前,我们在使用hibernate和spring的时候,都会被HibernateTemplate为我们提供 benefits(资源和事务管理以及把那个“丑陋”的checked exception转换为runtime exception-DataAccessException )而折服,在项目中不由 阅读全文
posted @ 2012-05-21 09:40 刺猬的温驯 阅读(507) 评论(0) 推荐(0) 编辑

摘要:延迟加载过滤器Hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate Session 已经关闭,这些导致延迟加载数据的访问异常。Spring 为此专门提供了一个 OpenSessionInViewFilter 过滤器,它的主要功能是使每个请求过程绑定一个 Hibernate Session,即使最初的事务已经完成了,也可以在 Web 层进行延迟加载的 阅读全文
posted @ 2012-05-16 21:02 刺猬的温驯 阅读(471) 评论(0) 推荐(0) 编辑

摘要:这个问题,我把对象赋值为NULL,也是很好用的.在我的系统中,更新好用了,可是插入不好用了.没改前,是插入好用,而更新不好用.本来是系统中的问题,可是,catch只是捕捉到,从但是,没有把log打印出来,找原因实在是难找.在高度数据库时,最好把异常捕捉中的信息打印出来.org.springframework.orm.hibernate.HibernateSystemException: a different object with the same identifier value was already associated with the session: 4443398, of cl 阅读全文
posted @ 2012-05-10 05:21 刺猬的温驯 阅读(13570) 评论(0) 推荐(0) 编辑

摘要:1.级联CASCADE属性的意义:只有“关系标记”才有cascade属性:OneToOne ,OneToMany ,ManyToOne ,ManyToMany.级联指的是当主控方执行操作时,关联对象(被动方)是否同步执行同一操作。一个操作因级联cascade可能触发多个关联操作。前一个操作叫“主控操作”,后一个操作叫“关联操作”。 cascade属性的可选值:all: 所有情况下均进行关联操作。none:所有情况下均不进行关联操作。这是默认值。save-update:在执行save/update/saveOrUpdate时进行关联操作。delete:在执行delete时进行关联操作。 具体执行 阅读全文
posted @ 2012-05-01 23:34 刺猬的温驯 阅读(296) 评论(0) 推荐(0) 编辑

摘要:“Nearly 80 to 85 percent of database performance problems arise from the application database's design or the application's own code. Good transaction throughput requires an application designed from the database up, with performance and scalability in mind.”----DB2 MagazineP6Spy & SQL P 阅读全文
posted @ 2012-05-01 23:16 刺猬的温驯 阅读(432) 评论(0) 推荐(0) 编辑

摘要:Hibernate QBC语言文章分类:Java编程节 8.01 基本查询以下是HQL/QBC/Native SQL三种查询策略HQL策略:Java代码session.createQuery("FROM Category c where c.name like 'Laptop%'");session.createQuery("FROM Category c where c.name like 'Laptop%'");QBC策略:Java代码session.createCriteria(Category.class).add 阅读全文
posted @ 2012-05-01 23:13 刺猬的温驯 阅读(5229) 评论(0) 推荐(1) 编辑

摘要:进入:http://www.hibernate.org/说明文档:英文:http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/中文:http://docs.jboss.org/hibernate/annotations/3.4/reference/zh_cn/html_single/下载:hibernate annotation 3.4.0 GA得到:hibernate-annotations.jar hibernate-commons-annotation.jar ejb3-persisten... 阅读全文
posted @ 2012-04-30 02:38 刺猬的温驯 阅读(657) 评论(0) 推荐(0) 编辑

摘要:一、环境搭建和基本映射1) 添加Annotation包: hibernate-annotations.jar,ejb3-persistence.jar,hibernate-commons-annotations.jar2) 在实体类中尽量使用JPA的标准注解来进行对象关系映射。注解可以添加在属性上,也可以添加在getXxx()方法之上。 a) @Entity 映射一个实体类 @Table(name="表名") 指定关联的表 b) @Id 映射OID c) @GeneratedValue(strategy=生成策略) 指定OID的生成策略。 它的默认值是GenerationT 阅读全文
posted @ 2012-04-30 02:16 刺猬的温驯 阅读(334) 评论(0) 推荐(0) 编辑

摘要:这里记录hibernate中组合主键的annotation方式。hibernate-annotations说明文档中有说到组合主键使用annotation的方式实现,如下几种下面是定义组合主键的几种语法:1. 将组件类注解为@Embeddable,并将组件的属性注解为@Id2. 将组件的属性注解为@EmbeddedId3. 将类注解为@IdClass,并将该实体中所有属于主键的属性都注解为@Id第一种方式实例:1.主键类,如下package com.seed.lee.model;import javax.persistence.Column;import javax.persistence.E 阅读全文
posted @ 2012-04-27 23:10 刺猬的温驯 阅读(1464) 评论(0) 推荐(0) 编辑

1 2 下一页
点击右上角即可分享
微信分享提示