NoClassDefFoundError - ClassLoaderDelegate - Hibernate

时间:2015-10-07 19:31:37

标签: java eclipse hibernate

我是Java Hibernate的新手。我在eclipse中设置了一个动态Web项目,并尝试在mysql db中插入一行。我在服务器上运行代码时收到以下错误。

  

java.lang.NoClassDefFoundError:org / hibernate / annotations / common / reflection / ClassLoaderDelegate       org.hibernate.boot.internal.MetadataBuilderImpl。(MetadataBuilderImpl.java:127)       org.hibernate.boot.MetadataSources.getMetadataBuilder(MetadataSources.java:135)       org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:655)

我的hibernate.cfg.xml    

<session-factory>
    <!-- Database connection settings -->
    <property name='connection.driver_class'>com.mysql.jdbc.Driver</property>
    <property name='connection.url'>jdbc:mysql://localhost:3306/bornscientific</property>
    <property name='connection.username'>root</property>
    <property name='connection.password'></property>

    <!-- JDBC connection pool (use the built-in) -->
    <property name='connection.pool_size'>1</property>

    <!-- SQL dialect -->
    <property name='dialect'>org.hibernate.dialect.MySQLDialect</property>

    <!-- Echo all executed SQL to stdout -->
    <property name='show_sql'>true</property>

    <!-- Mapping files -->
    <mapping class="com.bornscientific.persistence.beans.Tags"/>

</session-factory>

我的实体类

package com.bornscientific.persistence.beans;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name = "TAGS")
public class Tags implements Serializable
{

    private Long id;
    private String name;

    public Tags()
    {

    }

    @Id
    @SequenceGenerator(name="seq1",sequenceName="HIB_SEQ")
    @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seq1")
    @Column(name = "TAG_ID", unique = true, nullable = false)
    public Long getId()
    {
        return id;
    }

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

    @Column(name = "NAME", unique = true, length = 100, nullable = false)
    public String getName()
    {
        return name;
    }

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

我的主要方法是

public static void test() throws Exception
    {
        try
        {
            Session session = HibernateUtil.getSessionFactory().getCurrentSession();
            Transaction tx = session.getTransaction();
            tx.begin();

            Tags tags = new Tags();
            tags.setName("TAG_1");

            session.save(tags);
            tx.commit();
            System.out.println("Saved successfully...");
        }
        catch(Exception e)
        {
            //System.out.println(e)
            e.printStackTrace();
        }

    }

HibernateUtil.java

    package com.bornscientific.persistence;

import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

public class HibernateUtil
{
    private static final SessionFactory sessionFactory = buildSessionFactory();

    private static SessionFactory buildSessionFactory()
    {
        try
        {

            Configuration configuration = new Configuration().configure();
            StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder();
            serviceRegistryBuilder.applySettings(configuration.getProperties());
            ServiceRegistry serviceRegistry = serviceRegistryBuilder.build();
            return configuration.buildSessionFactory(serviceRegistry);
        }
        catch (Throwable ex)
        {
            System.err.println("Initial SessionFactory creation failed." + ex);
            ex.printStackTrace();
            throw ex;
        }
    }

    public static SessionFactory getSessionFactory()
    {
        return sessionFactory;
    }

}

这是引用的库。 enter image description here

请帮我解决这个问题。我通过谷歌搜索并找不到解决方案。

0 个答案:

没有答案