persistent.xml 文件配置:
<persistence-unit name="test" transaction-type="JTA">
<jta-data-source>java:/mysqlDS</jta-data-source>
<class>entity.Person</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit>
<persistence-unit name="test1" transaction-type="JTA">
<jta-data-source>java:/mysqlDS1</jta-data-source>
<class>entity.Group</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit> PersonDAOImpl类:
import java.util.Date;
import java.util.List;import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;import entity.Group;
import entity.Person;
@Stateless(name="personBean")
@Remote
public class PersonDAOImpl implements PersonDAO { @PersistenceContext(unitName="test")
private EntityManager em;
@PersistenceContext(unitName="test1")
private EntityManager em1;
public void testjta() throws Exception {
Person p=new Person();
p.setUsername("张三");
p.setAge(22);
p.setBirthday(new Date());
p.setAddress("武汉");
em.persist(p);
Group group=new Group();
group.setName("李四");
em1.persist(group);
}}ejbweb工程调用: <%
Context context=new InitialContext();
PersonDAO personDAO=(PersonDAO)context.lookup("personBean/remote");
personDAO.testjta();
%>ejbweb工程调用ejb的时候报错
执行em1.persist(group) 出错..
javax.transaction.SystemException:
java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: a1c2a56:b54:4d5b28bb:6f status: ActionStatus.ABORT_ONLY >
<persistence-unit name="test" transaction-type="JTA">
<jta-data-source>java:/mysqlDS</jta-data-source>
<class>entity.Person</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit>
<persistence-unit name="test1" transaction-type="JTA">
<jta-data-source>java:/mysqlDS1</jta-data-source>
<class>entity.Group</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit> PersonDAOImpl类:
import java.util.Date;
import java.util.List;import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;import entity.Group;
import entity.Person;
@Stateless(name="personBean")
@Remote
public class PersonDAOImpl implements PersonDAO { @PersistenceContext(unitName="test")
private EntityManager em;
@PersistenceContext(unitName="test1")
private EntityManager em1;
public void testjta() throws Exception {
Person p=new Person();
p.setUsername("张三");
p.setAge(22);
p.setBirthday(new Date());
p.setAddress("武汉");
em.persist(p);
Group group=new Group();
group.setName("李四");
em1.persist(group);
}}ejbweb工程调用: <%
Context context=new InitialContext();
PersonDAO personDAO=(PersonDAO)context.lookup("personBean/remote");
personDAO.testjta();
%>ejbweb工程调用ejb的时候报错
执行em1.persist(group) 出错..
javax.transaction.SystemException:
java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: a1c2a56:b54:4d5b28bb:6f status: ActionStatus.ABORT_ONLY >
解决方案 »
- applicationContext.xml配置问题。
- myeclipse7.5配置hibernate3.6是否支持。
- 对于JAVA class的一点不解
- apache+tomcat,深目录url映射不了?
- dom4j怪问题,高分求解!
- 请问java如何调用.net 的 WEB SERVICE
- 如何将Tomcat4.1.30升级到Tomcat5.0.27
- java的这么多的种类都是干什么的啊???
- 40分求教xml解析的几个问题!!!!!多多关注...
- jdk1.3.1跟jdk1.4.1有什么区别?
- ssh中,struts2 中总是不跳转到action类中,什么原因呢?
- \Java\jdk1.6.0_20\jre\bin\awt.dll: 句柄无效。为什么啊
InnoDB支持事务,而默认MYISAM是不支持的。你可以照着火龙果说的,看看以InnoDB类型建表看看。
具体两者的差别,你百度一下就知道了。我在这也学习了
只是em1不对?如果你只保留em1的话,可以吗?
public void testjta() throws Exception {试试