我正在尝试从
升级我的Hibernate版本<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.11.Final</version>
</dependency>
到
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.1.Final</version>
</dependency>
不幸的是,通过编译我得到以下错误。
TestDao.java:[5,25]找不到符号
[ERROR]符号:class Transactional
[错误]位置:包javax.transaction
我现在已经挣扎了一个多小时了。
我尝试添加包spring-tx
,但它没有帮助。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>
有没有人遇到过类似的问题?
答案 0 :(得分:6)
spring-tx
为您提供org.springframework.transaction.annotation.Transactional
,但您的错误消息明确指出您正在尝试应用javax.transaction.Transactional
。
Searching for javax.transaction.Transactional
on Central显示了一些候选人; javax.transaction:javax.transaction-api:1.2
或javax:javaee-api:7.0
似乎是一个合理的选择。
似乎the POM for Hibernate 4.3确实包含了对javax.transaction
包的JBoss特定版本的依赖,但它在Hibernate 5.0中被删除了,可能是因为它已被标准化并包含对特定的包可能会在运行时导致问题。