Hibernate不能使用@Table和@JoinColumn的问题
2015-11-05 22:04
281 查看
近日在使用Hibernate4.3是遇上了奇怪的错误,使用@Table和@JoinColumn都会报错。
报错信息:
Exception in thread “main” java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
一开始看到这个问题还挺莫名其妙的,我明明是按视频里说的一模一样啊,各种搜之后终于使用了
错误信息:
Exception in thread “main” java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
“jar包冲突”
原来是因为我用的是MyEclipse,在创建Web项目时选择了自动导入“Java EE 6 Libraries”,这个Library中的javax.persistence.jar与Hibernate的hibernate-jpa-2.1-api-1.0.0.Final.jar包冲突了(hibernate-jpa-2.1-api-1.0.0.Final.jar里也有一个javax.persistence的包,但是默认是用Java EE 6 Libraries里的包)。
所以,把“Java EE 6 Libraries”删除,或者将其中的javax.persistence.jar删除即可。
一、@Table
代码:[code]@Entity @Table(name="user") public class User { // ...省略内容 }
报错信息:
Exception in thread “main” java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
一开始看到这个问题还挺莫名其妙的,我明明是按视频里说的一模一样啊,各种搜之后终于使用了
@Entity(name="user")来代替原来那两句的方法,但是还是感觉挺“委曲求全”。
二、@JoinColumn
代码:[code] @OneToOne @JoinColumn(name="wifeId") public Wife getWife_id() { return wife; }
错误信息:
Exception in thread “main” java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
三、解决方法
发现@JoinColumn也不能用的时候不能忍了,想不出代替的方法,终于在网上苦找一番后发现了问题。“jar包冲突”
原来是因为我用的是MyEclipse,在创建Web项目时选择了自动导入“Java EE 6 Libraries”,这个Library中的javax.persistence.jar与Hibernate的hibernate-jpa-2.1-api-1.0.0.Final.jar包冲突了(hibernate-jpa-2.1-api-1.0.0.Final.jar里也有一个javax.persistence的包,但是默认是用Java EE 6 Libraries里的包)。
所以,把“Java EE 6 Libraries”删除,或者将其中的javax.persistence.jar删除即可。
相关文章推荐
- Java 继承 不允许继承的类 不可变的类 final class
- LeetCode Combinations (DFS)
- 创建多线程类
- HDOJ 题目3001Travelling(三进制状压DP,TSP)
- JQuery 跨域访问
- angularjs初窥门径
- PLAYGROUND 可视化
- [leetcode] Remove Invalid Parentheses
- Ceph mon一个故障案例的处理
- [LeetCode] Game of Life
- shell监控MySQL服务是否正常
- poj--3207--Ikki's Story IV - Panda's Trick(2-sat)
- Centos7无法使用ssh登陆及解决方案
- spring mvc 表单提交,试过可用
- 单例模式的七种写法
- 异步选择模型WSAAsyncSelect
- 卷积神经网络学习笔记(一)
- 【Android开发—智能家居系列】(四):UDP通信发送指令
- 【安卓网络编程】Android Studio导入Volley
- poj--3207--Ikki's Story IV - Panda's Trick(2-sat)