这是我的第一个休眠应用程序
当我尝试运行它给我这个错误
May 20, 2020 5:58:23 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version [WORKING]
Exception in thread "main" java.lang.NoClassDefFoundError: net/bytebuddy/NamingStrategy$SuffixingRandom$BaseNameResolver
at org.hibernate.orm.core@5.4.16.Final/org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:345)
at org.hibernate.orm.core@5.4.16.Final/org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:337)
at org.hibernate.orm.core@5.4.16.Final/org.hibernate.cfg.Environment.<clinit>(Environment.java:230)
at org.hibernate.orm.core@5.4.16.Final/org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>(StandardServiceRegistryBuilder.java:141)
at org.hibernate.orm.core@5.4.16.Final/org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>(StandardServiceRegistryBuilder.java:96)
at org.hibernate.orm.core@5.4.16.Final/org.hibernate.cfg.Configuration.reset(Configuration.java:158)
at org.hibernate.orm.core@5.4.16.Final/org.hibernate.cfg.Configuration.<init>(Configuration.java:124)
at org.hibernate.orm.core@5.4.16.Final/org.hibernate.cfg.Configuration.<init>(Configuration.java:118)
at org.shrikant.hibernate.App.main(App.java:14)
Caused by: java.lang.ClassNotFoundException: net.bytebuddy.NamingStrategy$SuffixingRandom$BaseNameResolver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 9 more`enter code here`
这是我的App.java类
package org.shrikant.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.shrikant.hibernate.entity.Users;
public class App {
public static void main(String[] args) {
SessionFactory factory = new Configuration()
.configure("hibernate.cfg.xml")
.addAnnotatedClass(Users.class)
.buildSessionFactory();
Session session = factory.getCurrentSession();
try {
//Create object of users entity class type
Users user = new Users("username","password","firstname","lastname");
//Start transaction
session.beginTransaction();
//Perform operation
session.save(user);
//Commit the transaction
session.getTransaction().commit();
System.out.println("Row Added");
} finally {
session.close();
factory.close();
}
}
}
这是User.java实体类
package org.shrikant.hibernate.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "users")
public class Users {
@Id
@Column(name = "user_id")
int user_id;
@Column(name = "username")
String username;
@Column(name = "password")
String password;
@Column(name = "first_name")
String firstName;
@Column(name = "last_name")
String lastName;
public Users(String username, String password, String firstName, String lastName) {
this.username = username;
this.password = password;
this.firstName = firstName;
this.lastName = lastName;
}
public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id) {
this.user_id = user_id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Hibernate配置文件(hibernate.cfg.xml)
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Connection settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Sample MySQL URL provided -->
<property name="connection.url">jdbc:mysql://localhost:3306/project</property>
<property name="connection.username">root</property>
<property name="connection.password">shrikant@123</property>
<!-- Show SQL on console -->
<property name="show_sql">true</property>
<!--Setting Session context model -->
<property name="current_session_context_class">thread</property>
</session-factory>
</hibernate-configuration>
这是我的第一个Hibernate应用程序。 它只是将数据从应用程序存储到数据库。 我向项目提供了所有必需的jar文件。
我是初学者,找不到任何解决方案,请帮助我!