首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate3.5 jta事务有关问题

2012-09-20 
hibernate3.5 jta事务问题第一次使用jta事务,使用的服务器为jboss5。代码如下 :hibernate1.cfg.xmlsession

hibernate3.5 jta事务问题
第一次使用jta事务,使用的服务器为jboss5。代码如下 :
hibernate1.cfg.xml

<session-factory><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql://127.0.0.1:3306/hibernate1</property><property name="connection.username">root</property><property name="connection.password"></property><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory            </property><property name="jta.UserTransaction">java:comp/UserTransaction</property>        <property name="hibernate.transaction.manager_lookup_class">                              org.hibernate.transaction.JBossTransactionManagerLookup                 </property>         <property name="show_sql">true</property><mapping resource="com/hibernate/domain/Person.hbm.xml" /> </session-factory>


hibernate2.cfg.xml
<session-factory><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql://127.0.0.1:3306/hibernate2</property><property name="connection.username">root</property><property name="connection.password"></property><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory             </property><property name="jta.UserTransaction">java:comp/UserTransaction</property>        <property name="hibernate.transaction.manager_lookup_class">                      org.hibernate.transaction.JBossTransactionManagerLookup                 </property>         <property name="show_sql">true</property><mapping resource="com/hibernate/domain/User.hbm.xml" /></session-factory>


测试代码:
       
              UserTransaction ut = null;SessionFactory sf1 = new Configuration().configure("hibernate_db1.cfg.xml").buildSessionFactory();SessionFactory sf2 = new Configuration().configure("hibernate_db2.cfg.xml").buildSessionFactory();try {Context context = new InitialContext();ut = (UserTransaction) context.lookup("java:comp/UserTransaction");} catch (NamingException e) {e.printStackTrace();}try {ut.begin();Session s1 = sf1.openSession();s1.save(p);s1.close();Session s2 = sf2.openSession();s2.save(u);// 查询User user = (User) s2.get(User.class, 44);System.out.println("name=" + user.getName());s2.close();ut.commit();} catch (Exception e) {e.printStackTrace();}          


执行结果:
10:37:30,250 INFO  [STDOUT] Hibernate: select user0_.id as id2_0_, user0_.name as name2_0_ from user user0_ where user0_.id=?10:37:30,328 INFO  [STDOUT] name=小明


没有insert语句,数据库也没有结果。
那位同学帮忙看下原因。

BTW:表是innodb的




热点排行