Hibernate教材.ppt

  1. 1、本文档共237页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate教材

Hibernate 事务隔离级别 可串行化(Serializable - Provide) 可重复读(Repeatable Read)-- 仍有幻读 读操作已提交(Read Committed)-- 共读锁 和 排写锁(临时) 读操作未提交(Read Uncommitted)-- 排写锁 # hibernate.connection.isolation 8 4 2 1 LockMode NONE No lock required. READ A shared lock. * UPGRADE An upgrade lock. UPGRADE_NOWAIT Attempt to obtain an upgrade lock, using an Oracle-style select for update nowait. LockMode WRITE A WRITE lock is obtained when an object is updated or inserted.** 悲观锁Pessimistic Locking 认定每次资料存取时,另有其他操作会存取同一笔数据 每次操作对该数据进行锁定,指导操作完成 是数据库层次上的锁定状态 有性能问题 某些数据库提供明确使用悲观锁的指定方式* 乐观锁Optimistic Locking 认定数据的存取很少发生同时存取的问题 非数据库层次的锁定 需要应用程序的逻辑 性能高于悲观锁 使用版本控制 使用时间戳 使用JDBC事务 #hibernate.transaction.factory_class = org.hibernate.transaction.CMTTransactionFactory #hibernate.transaction.factory_class =org.hibernate.transaction.JTATransactionFactory #hibernate.transaction.factory_class =org.hibernate.transaction.JDBCTransactionFactory 使用JTA事务 Javax.transacction.UserTransaction tx = null; Tx = newInitialContext().lookup(“javax.transaction.UserTransaction”); Tx.begin(); Session s1 = sf.openSession(); …. s1.flush(); s1.close(); … Session s2 = sf.openSession(); … s2.flush(); s2.close(); mit(); Hibernate FlushMode FlushMode.AUTO FlushMode.COMMIT FlushMode.NEVER Hibernate 调用flush的时机 事务提交前 某些查询之前 程序执行 session.flush 业务代理实现类NetstoreEJBFromFactoryDelegate NetstoreEJBFromFactoryDelegate类本身并没有实现业务逻辑,而是调用NetstoreEJB组件的业务方法,来实现各种业务逻辑。 public Customer authenticate(String email, String password) throws InvalidLoginException,ExpiredPasswordException, AccountLockedException,DatastoreException{ try { return netstore.authenticate(email, password); } catch (RemoteException e) { throw DatastoreException.datastoreError(e); } } 在JBoss-Tomcat上部署EJB组件 一个EJB组件由相关的类文件和EJB的发布描述文件构成 创建ejb-jar.xml文件 ejb-jar.xml是EJB组件的发布描述文件。在这个文件中定义了EJB组件的类型,并指定了它的Remote 接口、Home 接口和Enterprise Bean类对应的类文件。 <ejb-jar> <description>Netstore Application</descri

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档