面对休眠错误:原因:java.lang.ClassNotFoundException:net.bytebuddy.NamingStrategy $ SuffixingRandom $ BaseNameResolver [英] Facing hibernate error: Caused by: java.lang.ClassNotFoundException: net.bytebuddy.NamingStrategy$SuffixingRandom$BaseNameResolver

查看:574
本文介绍了面对休眠错误:原因:java.lang.ClassNotFoundException:net.bytebuddy.NamingStrategy $ SuffixingRandom $ BaseNameResolver的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Eclipse中运行此代码时出现错误。我创建了 Student.java 文件:

I am getting an error while running this code in Eclipse. I have created Student.java file:

package bean;
public class Student {
               private int id;
               private String name;
               private String email;
               private int marks;

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public String getEmail() {
                return email;
            }

            public void setEmail(String email) {
                this.email = email;
            }

            public int getMarks() {
                return marks;
            }

            public void setMarks(int marks) {
                this.marks = marks;
            }
}

我创建了学生。 hbm.xml 文件:

<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="bean.Student" table="student">
        <id name="id" column="sid"></id>
        <property name="name"  column="sname"></property>
        <property name="email" column="semail"></property>
        <property name="marks" column="smarks"></property>
</class>
</hibernate-mapping>

我创建了 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>
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:wind</property>
        <property name="connection.username">localuser</property>
        <property name="connection.password">localuser</property>
        <property name="connection.poolsize">5</property>

        <property name="dialect">org.hibernate.dialect.OracleDialect</property>

        <mapping resource="resources/student.hbm.xml"/>

</session-factory>
</hibernate-configuration>

我已经创建了 client.java 文件:

package testclass;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import bean.Student;

public class Client {
public static void main(String[] args) {

    Student st = new Student();
    st.setId(11);
    st.setEmail("swapnilgthaware@gmail.com");
    st.setMarks(98);
    st.setName("Swapnil");  

    // Student object is transient here..
    // When it is attached to hibernate object then it will become persistent object.


    Configuration cfg = new Configuration();
    cfg.configure("resources/hibernate.cfg.xml");

    SessionFactory sf = cfg.buildSessionFactory();
    Session s =sf.openSession();

    s.save(st);

    // Student object is persisten now. Even gc() will not take away this object

    s.beginTransaction().commit();
    // Student object will goto Database side.


    s.evict(st);



    }
    }

我尝试添加许多jar文件,但在oracle数据库中看不到学生记录。

I tried adding many jars file but I am unable see student record in my oracle database.

完全错误:

Jul 17, 2018 8:11:09 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.3.2.Final}
Jul 17, 2018 8:11:09 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Exception in thread "main" java.lang.NoClassDefFoundError: net/bytebuddy/NamingStrategy$SuffixingRandom$BaseNameResolver
    at org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:357)
    at org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:352)
    at org.hibernate.cfg.Environment.<clinit>(Environment.java:246)
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>(StandardServiceRegistryBuilder.java:78)
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>(StandardServiceRegistryBuilder.java:67)
    at org.hibernate.cfg.Configuration.reset(Configuration.java:158)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:124)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:118)
    at testclass.Client.main(Client.java:21)
Caused by: java.lang.ClassNotFoundException: net.bytebuddy.NamingStrategy$SuffixingRandom$BaseNameResolver
    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)
    ... 9 more


推荐答案

我遇到了同样的问题:原来net-buddy库文件已损坏(下载期间出错?)。

I have the same problem: turns out the net-buddy library file was corrupted (error during download?).

尝试删除〜/ .m2 / repository / net / bytebuddy中的jar并重建应用程序。

Try deleting jars in ~/.m2/repository/net/bytebuddy and rebuild the application.

希望这会有所帮助

这篇关于面对休眠错误:原因:java.lang.ClassNotFoundException:net.bytebuddy.NamingStrategy $ SuffixingRandom $ BaseNameResolver的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆