在LocalBean中一起使用EntityManager和DataSource

时间:2012-05-30 10:26:13

标签: jpa

我想在bean中做一些预定的JDBC作业。

我得到了。

Internal Exception: java.sql.SQLException: Error in allocating a connection.
Cause: java.lang.IllegalStateException: Local transaction already has 1 non-XA Resource:
cannot add more resources.
Error Code: 0
@LocalBean @Stateless
class MyBean {

    public void doJPA() {
    }

    @Schedule
    public void doJDBC() {
    }

    @PersistentContext
    EntityManager entityManager;

    @Resource
    DataSource dataSource;
}

我做错了吗?

我只需要分割豆子吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您使用的是与JPA使用的相同的DataSource,则服务器应该为您提供相同的连接,因此您不应该收到此错误。您使用的是其他数据源吗?

您还可以使用unwrap()

从EntityManager获取JDBC连接

请参阅, http://wiki.eclipse.org/EclipseLink/Examples/JPA/EMAPI#Getting_a_JDBC_Connection_from_an_EntityManager