在使用hibernate的jta事务管理时,为什么提示我javax.naming.NameNotFoundException?

alaxing 2004-11-15 05:02:32
我在使用hibernate时,想使用JTA来进行事务管理,可是程序运行的时候老是提示我
javax.naming.NameNotFoundException: Name javax.transaction.UserTransaction is not bound in this Context
如果用jdbc的transaction就可以,不知道用JTA是不是还要设置什么地方?


hibernate.cfg.xml配置如下:
<hibernate-configuration>
<session-factory>
<property name="dialect">net.sf.hibernate.dialect.OracleDialect</property>
<property name="connection.datasource">java:comp/env/jdbc/aa</property>
<property name="show_sql">false</property>
<property name="transaction.factory_class">net.sf.hibernate.transaction.JTATransactionFactory</property>
<property name="jta.UserTransaction">javax.transaction.UserTransaction</property>

<!-- Mapping files -->
<!-- Attend Mdl -->
<mapping resource="com/test/Module.hbm.xml"/>


</session-factory>
</hibernate-configuration>

程序代码如下:


public void testJta() throws Exception {

UserTransaction tx = null;

try {

tx = (UserTransaction)new InitialContext().lookup(
"javax.transaction.UserTransaction");
tx.begin();

addOne();//插入一条记录
tx.commit();

}
catch (Exception e) {
e.printStackTrace();
if (tx != null)
try {
tx.rollback();
}
catch (SystemException ex) {
}

}

}
...全文
180 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
asp4567 2004-11-18
  • 打赏
  • 举报
回复
mark
wjmmml 2004-11-16
  • 打赏
  • 举报
回复
java:comp/env/jdbc/aa
你得到你的数据库源了吗
show90 2004-11-16
  • 打赏
  • 举报
回复
是这样呀
alaxing 2004-11-16
  • 打赏
  • 举报
回复
得到了呀!

我明白了,我是用tomcat,tomcat里要怎么设jta 呀?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧