相关疑难解决方法(0)

java.lang.IllegalStateException:没有可用的事务性EntityManager

项目使用Hibernate(JPA),Spring和Maven.我的实体和DAO在一个单独的JAR中.

pom.xml中:

<project ...>
    ...
    <artifactId>database</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>3.5.4-Final</version>
        </dependency>
    </dependencies>    
</project>
Run Code Online (Sandbox Code Playgroud)

DAO:

public class AbstractDAO<T extends BaseEntity> implements GenericDAO<T> {


    private final Class<T> persistentClass;

    private EntityManager entityManager;

    public AbstractDAO(Class<T> entityClass) {
        super();
        this.persistentClass = entityClass;
    }

    @PersistenceContext
    public void setEntityManager(EntityManager entityManager) {
        this.entityManager = entityManager;
    }


    public EntityManager getEntityManager() {
        return entityManager;
    }

    ...

    public void fooBar() {
       //Exception from this line
       Session session = getEntityManager().unwrap(Session.class);
       ...
    }

    ....
Run Code Online (Sandbox Code Playgroud)

}

我有一个使用Spring的模块.

pom.xml中:

<project ...>
...
<artifactId>api</artifactId>

<dependencies> …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa maven

18
推荐指数
3
解决办法
5万
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1

maven ×1

spring ×1