在简单应用程序中休眠java.lang.NoClassDefFoundError

这是我的第一个休眠应用程序

当我尝试运行它给我这个错误

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文件。

我是初学者,找不到任何解决方案,请帮助我!