我对Hibernate ORM还是很陌生。尝试使用Hibernate在Java中编译小型程序。这个简单的程序试图将一条记录插入MySQL数据库。下面列出了我在Student和Process类中拥有的所有代码。每次尝试执行时都会遇到各种错误我的项目。
经过研究后,我也添加了下面列出的所有库。
**
然后添加
现在我收到列为
的其他错误 Exception in thread "main" java.lang.NoClassDefFoundError: javax/transaction/SystemException
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at org.jboss.logging.Logger$1.run(Logger.java:2554)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)
at org.hibernate.internal.CoreLogging.messageLogger(CoreLogging.java:28)
at org.hibernate.internal.CoreLogging.messageLogger(CoreLogging.java:24)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:85)
at ADP.Process.main(Process.java:14)
Caused by: java.lang.ClassNotFoundException: javax.transaction.SystemException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 10 more
这是我的学生班
package ADProcess;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="student")
public class Student
{
@Id
@Column(name="StudentName")
private String StudentName ;
@Column(name="City")
private String City ;
@Column(name="Country")
private String Country;
@Column(name="Age")
private int Age;
public Student()
{
}
public Student(String studentName, String city, String country, int age)
{
StudentName = studentName;
City = city;
Country = country;
Age = age;
}
@Override
public String toString()
{
return "Student [StudentName=" + StudentName + ", City=" + City + ", Country=" + Country + ", Age=" + Age + "]";
}
/**
* @return the studentName
*/
public String getStudentName()
{
return StudentName;
}
/**
* @param studentName the studentName to set
*/
public void setStudentName(String studentName)
{
StudentName = studentName;
}
/**
* @return the city
*/
public String getCity()
{
return City;
}
/**
* @param city the city to set
*/
public void setCity(String city)
{
City = city;
}
/**
* @return the country
*/
public String getCountry()
{
return Country;
}
/**
* @param country the country to set
*/
public void setCountry(String country)
{
Country = country;
}
/**
* @return the age
*/
public int getAge()
{
return Age;
}
/**
* @param age the age to set
*/
public void setAge(int age)
{
Age = age;
}
}
这是我的主类,称为流程
package ADProcess;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class Process {
public static void main(String[] args)
{
SessionFactory factory = new Configuration().configure("hibernate.cfg.xml").addAnnotatedClass(Student.class).buildSessionFactory();
Session session = factory.getCurrentSession();
try
{
Student student = new Student("Aruna","Newport News","Sri Lanka",29);
session.beginTransaction();
session.save(student);
session.getTransaction().commit();
}
finally
{
factory.close();
}
}
}