hibernate/JPA/ibatis
roger_lmj
不求最好,只求更好
展开
-
HibernateShards-数据库水平分区解决方案
HibernateShard 多数据库水平分区解决方案。 1. 简介 Hibernate 的一个扩展,用于处理多数据库水平分区架构。 由google工程师 2007年 捐献给 Hibernate社区。 http://www.hibernate.org/414.html 目前版本: 3.0.0 beta2, 未发GA版原创 2012-01-18 13:46:41 · 1044 阅读 · 0 评论 -
JPA与Hibernate的优缺点
Java Persistence API 从 EJB技术可以开始应用时起,对其在实际应用中的可用性就一直存在怀疑。在我看来,产生这种现象最重要的两个原因是复杂性和资源密集性。结果,随后出现了比EJB 更简单、具有更小资源空间的框架(比如 Spring 和 Hibernate),并且更快流行开来。为了说明这一点,我们注意到 EJB3.0 规范的方向相对以前出转载 2009-10-30 16:43:00 · 747 阅读 · 0 评论 -
JPA和Hibernate的关系1
JPA Java Persistence API,是Java EE 5的标准ORM接口,也是ejb3规范的一部分。Hibernate,当今很流行的ORM框架,是JPA的一个实现,但是其功能是JPA的超集。JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接口,Hibernate是实现。那么Hibernate是如何实现与JPA的这种关系的转载 2009-10-30 16:47:00 · 594 阅读 · 0 评论 -
JPA和hibernate对删除操作的不同
在hibernate里面调用session的delete方法以后,无论这个被删除的对象有没有被人外键引用到,都可以被删除,并且此时的外键设为null,也就是说他会自动帮我们去查看他被谁引用到了。然后把引用全部去掉后,再把自己删掉。而在JPA里面,如果调用EntityManager.remove方法时,传进去的对象,有被外键引用到,则会失败。因为JPA里面的实现就是直接执行delete转载 2009-10-30 16:46:00 · 1501 阅读 · 0 评论 -
dependencies元素介绍
pom.xml的基础元素,通过该元素管理项目对第三方包的一些依赖。Maven会根据你在这个元素中定义的一些包的依赖下载到本地仓库,并让项目使用。保证我们的项目能正确的构建和布署。dependencies下有dependency元素,指定项目依赖的某个包。dependency元素说明groupId, artifactId,version:引用的包的groupId, artifactId,原创 2009-10-28 16:31:00 · 769 阅读 · 0 评论 -
Persistence API:持久性单元(Persistence Units)
如果你打算在你的应用中使用JPA,你就需要使用持久性单元(Persistence Units)。持久性单元具有唯一的名称,负责定义应用中的一组实体如何进行管理和持久性。在应用中使用persistence.xml文件来设置持久性单元,可以配置多个持久性单元,但每个单元拥有唯一的名称。持久性单元包含的属性有:在该持久性单元范围(作用域)内的实体类为转载 2009-11-06 12:39:00 · 956 阅读 · 0 评论 -
JPA中的集合查询示例
1、VisitInfo模型 view plaincopy to clipboardprint? @Entity @Table(name = System_VisitInfo) @Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) public class VisitInfo implements Serializable { pri转载 2009-10-18 12:14:00 · 772 阅读 · 0 评论 -
Persistence.xml
xmlns:persistence="http://java.sun.com/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xm原创 2009-10-13 09:52:00 · 1004 阅读 · 0 评论 -
EntityManager API方法详解
Java EE环境与J2SE环境 CMP定义 EntityManager API方法详解持久层技术 2009-08-29 21:16 阅读59 评论0 字号: 大大 中中 小小 Session bean or MD bean对Entity bean的操作(包括所有的query, insert, update, delete操作)都是通过EntityManager实例来完转载 2009-10-10 21:02:00 · 1184 阅读 · 0 评论 -
JPA的本地查询(native query)转
JPA的本地查询(native query) JPA支持本地查询,所谓本地查询,就是使用原生的sql语句(根据数据库的不同,在sql的语法或结构方面可能有所区别)进行查询数据库的操作。 本地查询主要使用EntityManager接口里的方法:public interface EntityManager { public void persist(Object entity转载 2009-10-01 18:32:00 · 803 阅读 · 0 评论 -
@SuppressWarnings
@SuppressWarnings 2009年03月17日 星期二 下午 02:21 @SuppressWarnings J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。 一点背景:J2SE 5.0 为 Java 语言增加了几个新的特性,并且和它们一起增加了许多新的警告并承诺在将来增加更多的警告。原创 2009-10-03 11:38:00 · 836 阅读 · 1 评论 -
java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-base
Java代码 <a title="复制代码" onclick="function onclick(){dp.sh.Toolbar.CopyToClipboard(this);return false;}" href="http://zhangzi.javaeye.com/blog/474593#">Query query = session.createQue转载 2009-10-02 19:31:00 · 1883 阅读 · 0 评论 -
hibernate中当IDENTITY_INSERT设置为OFF时" 的解决方法
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 txl_info 中的标识列插入显式值。出现这个异常的原因就是向自动增长的列插入了值.it just means you have a column in files table that is an identity column (whose value is supposed to be generated b原创 2009-09-15 08:20:00 · 2937 阅读 · 0 评论 -
hibernate介绍之一 (转)
在我做过的很多项目的过程中,我一直有一个悬而未决的问题在困扰我,那就是持久层的开发。持久层的开发一般来说要么用CMP,要么用JDBC+DAO。 CMP就不用说了,它对我来说是一种失败的实践,而JDBC+DAO也存在很多的困难,我很难做到把关系表记录完整的映射到持久对象的关系上来,这主要体现在多表的关系无法直接映射到对持久对象的映射上来,可能是一个表映射多个持久对象,有可能是多个表映射一个持久原创 2009-09-06 16:21:00 · 477 阅读 · 0 评论 -
Hibernate和JDBC、EJB比较
Hibernate和JDBC、EJB比较 收藏 document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function()转载 2009-10-30 16:48:00 · 837 阅读 · 2 评论 -
基于Spring和EJB的灵活的事务控制
话说在JCF框架里面可以以依赖注入的形式来选择是用EJB或者是POJO来提供后台服务,对于选用了EJB的CMT事务,再使用Spring的事务就没有必要了,如果不要EJB那就要采用Spring的事务了。在JCF中,采用EJB形式调用链是这样的client->delegate->EJBDelegate->SessionFacade->processor->command->dao,事务采转载 2009-11-02 14:52:00 · 525 阅读 · 0 评论 -
JPA+Hibernate 3.3 学习小结——第一个JPA程序
所需要的最小的jar包(注意:jar包所在路径不能含有空格或中文)Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->hibernate3.jarhibernate-cglib-repack-2.1_3.jarslf4j-api-1.5.2.jarjav原创 2009-10-30 16:44:00 · 657 阅读 · 0 评论 -
Hibernate 3与2
Hibernate 3与2原创 2011-03-22 13:10:00 · 664 阅读 · 0 评论 -
hibernate常用注解
hibernate常用注解原创 2011-01-05 00:29:00 · 730 阅读 · 0 评论 -
hibernate------HQL总结
Java代码 <a title="复制代码" onclick="function onclick(){dp.sh.Toolbar.CopyToClipboard(this);return false;}" href="http://ttitfly.javaeye.com/blog/159342#">CREATE DATABASE `interceptor`转载 2010-05-13 14:25:00 · 575 阅读 · 0 评论 -
Hibernate之父建议开发者升级到Java EE 6
http://developer.51cto.com/art/201001/180400.htm 文来自CSDN博客,原文标题为《Hibernate 之父:是时候升级到Java EE 6了》。Hibernate 之父Gavin King建议开发者升级到 Java EE 6 平台,并指出,目前各种不愿意升级的观点其实是没有根据的。Java EE 6 发布后,我看到了很多反对升级到新平原创 2010-05-09 20:59:00 · 602 阅读 · 0 评论 -
Java EE 6引入的JPA 2.0四大新特性详解
【51CTO精选译文】Java EE 5平台引入了Java持久化API(Java Persistence API,JPA),它为Java EE和Java SE应用程序提供了一个基于POJO的持久化模块。JPA处理关系数据与Java对象之间的映射,它使对象/关系(O/R)映射标准化,JPA已经被广泛采用,已经成为事实上的O/R持久化企业标准。Java EE 6带来了JPA的最新版本 — JSR转载 2010-05-09 20:57:00 · 1080 阅读 · 0 评论 -
HIbernate Criteria Query
转载:http://book.51cto.com/art/200804/71560.htm当查询数据时,人们往往需要设置查询条件。在SQL或HQL语句中,查询条件常常放在where子句中。此外,Hibernate还支持Criteria查询(Criteria Query),这种查询方式把查询条件封装为一个Criteria对象。在实际应用中,使用Session的createCr转载 2009-12-23 19:25:00 · 1291 阅读 · 0 评论 -
基于Spring和hibernate的灵活的异常处理办法
Spring exeception 在spring,hibernate中异常的处理都交给了spring框架,在hibernate只需要写很少的代码就可以实现异常的控制。在单元测试代码中:public final void testFindFunctionById() { logger.debug("testFindFunctionById")转载 2009-11-02 14:49:00 · 633 阅读 · 0 评论 -
扩展hibernate的主键生成策略 good
关键字: hibernate id uuid Hibernate的主键生成策略有好几种:1) assigned2) hilo3) seqhilo4) increment5) identity6) sequence7) native8) uuid.hex9) uuid.str转载 2009-11-02 11:00:00 · 729 阅读 · 0 评论 -
几种主键生成策略的比较
通过以上的讲述,不难总结出JPA可定义的生成策略有四种:TABLE,SEQUENCE,,IDENTITY,AUTO。在选择这四种主键生成策略时,有如下几条建议。l SEQUENCE,IDENTITY两种策略由于针对的是特殊的一些数据库,所以如果在需求前期,未确定系统要支持的数据库类型时,最好不要使用。因为一旦更改数据库类型时,例如从Oracle变更为MySQL时,此时使用的S转载 2009-11-01 16:11:00 · 808 阅读 · 0 评论 -
cascade_CascadeType
CascadeType.ALL :下的老大 all CascadeType.PERSIST:级联新增persistCascadeType.MERGE:级联合并mergeCascadeType.REFRESH:级联刷新refreshCascadeType.REMOVE:级联删除remove原创 2009-11-02 16:59:00 · 1026 阅读 · 0 评论 -
提高hibernate性能 姚博文
在一个拥有单独业务层的应用中,业务层必须在返回之前,为web层“准备”好其所需的数据集合。这就意味着 业务层应该载入所有表现层/web层所需的数据,并将这些已实例化完毕的数据返回。通常,应用程序应该 为web层所需的每个集合调用Hibernate.initialize()(这个调用必须发生咱session关闭之前); 或者使用带有FETCH从句,或FetchMode.JOIN的Hibernate转载 2009-11-01 16:59:00 · 666 阅读 · 0 评论 -
基于按annotation的hibernate主键生成策略
这里讨论代理主键,业务主键(比如说复合键等)这里不讨论。 一、JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.这里的@id和@GeneratedValue都是JPA的标准用法, JPA提供四种标准用法,由@GeneratedValue的源代码可以明显看出转载 2009-11-01 16:33:00 · 536 阅读 · 0 评论 -
hibernate缓存:Hibernate获取数据方式和缓存Cache使用
Hibernate获取数据方式有区别几种其和缓存Cache结合使用效果也不尽相同而Hibernate中具体如何使用缓存Cache其实是我们很关心个问题直接涉及到性能方面 缓存Cache在Hibernate中主要有 3个方面:级缓存Cache、 2级缓存Cache和查询缓存Cache;级缓存Cache在Hibernate中对应即为session范围缓存Cache也就是当session关闭时缓转载 2009-09-06 02:14:00 · 861 阅读 · 0 评论 -
hibernate二级缓存:Hibernate缓存Cache配置
今天仔仔细细看了下Hibernate缓存Cache并做了例子实战了把google下网上教程、文章很多 自己小结下: Hibernate缓存Cache分为: 级缓存Cache:在Session级别在Session关闭时候级缓存Cache就失效了 2级缓存Cache:在SessionFactory级别它可以使用区别缓存Cache实现如EhCache、JBossCache、Os转载 2009-09-06 02:11:00 · 1081 阅读 · 0 评论 -
hibernate一级缓存(转)
hibernate 一级缓存:(缓存的是实体对象)一级缓存很短和session的生命周期一致,一级缓存也叫session级的缓存或事务缓存 哪些方法支持一级缓存:*get()*load()*iterate() (查询实体对象) 如何管理一级缓存:* session.clear() session.evict() 如何避免一次性大量的实体数据入库导转载 2009-09-06 02:06:00 · 955 阅读 · 2 评论 -
hibernate二级缓存配置
二级缓存配置: 1、首先要打开二级缓存,在hibernate.cfg.xml中添加如下配置: true 2、Hibernate的二级缓存使用第三方的缓存工具来实现,所以我们需要指定Hibernate使用哪个 缓存工具。如下配置指定Hibernate使用EhCache缓存工具。 org.hibernate.cache.E转载 2009-09-06 00:51:00 · 440 阅读 · 0 评论 -
Hibernate查询缓存综合
查询缓存是针对普通属性结果集的缓存,对实体对象的结果集只缓存id查询缓存的生命周期,当前关联的表发生修改,那么查询缓存生命周期结束查询缓存的配置和使用: * 在hibernate.cfg.xml文件中启用查询缓存,如: true * 在程序中必须手动启用查询缓存,如: query.setCacheable(true);下面举例说明一下查询缓存的使用:/** * 开转载 2009-09-06 02:01:00 · 649 阅读 · 3 评论 -
Hibernate介绍与提高
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重转载 2009-09-05 01:28:00 · 1870 阅读 · 0 评论 -
hibernate一对多:hibernate3学习笔记(一)
载最新hibernate资源:http://www.hibernate.org/6.html 本文使用最新 3.3.0 SP1 版本 所需jar包列表如下:antlr-2.7.6.jarcommons-collections-3.1.jarcommons-logging-1.1.jardom4j-1.6.1.jarehcache-1.2.3.jarejb3-persistence.ja转载 2009-09-06 02:24:00 · 540 阅读 · 0 评论 -
hibernate二级缓存:hibernate3学习笔记( 2十一)| 2级缓存Cache
2级缓存Cache及外部缓存Cache它能够越过数个Session通过同个SessionFactory进行管理和维护 接上例代码:http://blog.csdn.net/kunshan_shenbin/archive/2008/09/03/2874375.aspx 要使用 2级缓存Cache首先需要对hibernate.cfg.xml文件进行修改: "-//Hibernat转载 2009-09-06 02:20:00 · 744 阅读 · 0 评论 -
hibernate二级缓存:hibernate3 2级缓存Cache的配置及测试
1.配置ehcache.xml文件放到path下: maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="100" timeToLiveSeconds="1000" overflo转载 2009-09-06 02:16:00 · 1017 阅读 · 0 评论 -
hibernate一级缓存和二级缓存的区别
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发转载 2009-09-06 02:04:00 · 465 阅读 · 0 评论 -
Hibernate缓存何时使用和如何使用
1. 关于hibernate缓存的问题: 1.1.1. 基本的缓存原理Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。第二级是由sessionFactory控制的进程级缓存。是全局共享的缓存,凡是会调用二级缓存的查询方法 都会从中受益。只有经正确的配置后二级缓存才会发挥作用。同时在进行条件查询时必须使用相应的方法才能从缓存中获取数据。转载 2009-09-06 01:57:00 · 570 阅读 · 1 评论