Java 10中的Java ORM休眠异常

时间:2018-08-03 15:16:41

标签: java mysql hibernate

我对Hibernate ORM还是很​​陌生。尝试使用Hibernate在Java中编译小型程序。这个简单的程序试图将一条记录插入MySQL数据库。下面列出了我在Student和Process类中拥有的所有代码。每次尝试执行时都会遇到各种错误我的项目。

经过研究后,我也添加了下面列出的所有库。

**

javax.activation-1.2.0.jar

jaxb-api-2.3.0.jar

jaxb-core-2.3.0.jar

jaxb-impl-2.3.0.jar **

然后添加

jta-1_1.jar

jboss.jar

javaee.jar

现在我收到列为

的其他错误
 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();
    }

}

}

0 个答案:

没有答案