当前位置: 代码迷 >> J2EE >> hibernate anotation 版本兼容有关问题
  详细解决方案

hibernate anotation 版本兼容有关问题

热度:154   发布时间:2016-04-21 23:22:51.0
hibernate anotation 版本兼容问题
准备把一个类用anotation存在数据录里面,但是现在好像不行了,不知道是不是版本兼容的问的,各位神帮忙看看,或者把一个兼容的版本给我哦~~~,谢谢了


另外问一下,每次执行完以后,都发现工程中出现了一个xml的东东,有什么用吗?

上代码





@Entity
@Table(name="teacherstable")
public class Teacher {

private int m_ID;
private int m_AGE;
private String m_NAME;

@Id
@Column(name="ID")
public int getM_ID() {
return m_ID;
}
public void setM_ID(int m_ID) {
this.m_ID = m_ID;
}

@Column(name="Age")
public int getM_AGE() {
return m_AGE;
}
public void setM_AGE(int m_AGE) {
this.m_AGE = m_AGE;
}

@Column(name="Name")
public String getM_NAME() {
return m_NAME;
}
public void setM_NAME(String m_NAME) {
this.m_NAME = m_NAME;
}

}

//////////////////我是华丽的昏割线//////////////////////////


public static void main(String[] args) {
// TODO Auto-generated method stub

Student s = new Student();
s.setID(87);
s.setAge(43);
s.setName("sd");


Teacher t = new Teacher();
t.setM_ID(87);
t.setM_AGE(43);
t.setM_NAME("sd");


AnnotationConfiguration cfg = new AnnotationConfiguration();
SessionFactory sf = cfg.configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
session.save(t);
session.getTransaction().commit();
session.close();
sf.close();



错误错误错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.hibernate.cfg.AnnotationConfiguration.<clinit>(AnnotationConfiguration.java:65)
at maintest.main(maintest.java:31)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Hibernate annotation

------解决方案--------------------
 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
提示找不到这个类,你需要引入commons-logging.jar这个jar包。至于你的jar包hibernate-annotations.jar貌似没必要,这个貌似是hibernate4需要的jar包。

hibernate3.5以下的版本,貌似是hibernate3.jar ,ejb-persistence.jar,hibernate-annotation.jar这3个包,其他的加上倚赖包。hibernate3.5以上的hibernate3版本,是hibernate3.jar,hibernate-jpa这2个包,添加上倚赖包。
hibernate4.jar包你可以在官网下载,里面有必须包。
  相关解决方案