org.hibernate.MappingException:未知实体:model.UserDetails

时间:2015-05-19 20:03:20

标签: hibernate

我没有使用javax.persistence做任何注释错误.am 但我没有理解为什么hibernate无法读取我的UserDetail类。

  

UserDetails.java

package model;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class UserDetails {
    @Id
    private int userId;
    private String userName;

    public int getUserId() {
        return userId;
    }
    public void setUserId(int userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }

    public static void main(String[] args) {
        System.out.println("Successfull");
    }

}
  

HibernateTest.java

  package model;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;

public class HibernateTest {

    public static void main(String[] args) {
        //
        ///TODO Auto-generated method stub

        UserDetails user = new UserDetails();
        user.setUserId(1);
        user.setUserName("Sasi");

          Configuration configuration = new Configuration();
          configuration.configure("/resources/hibernate.cfg.xml");
         StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
         SessionFactory sessionFactory = configuration.buildSessionFactory(ssrb.build());
         Session session = sessionFactory.openSession();
         session.beginTransaction();
         session.save(user);
         session.getTransaction().commit();

         System.out.println("Successfully");

    }

}
  

的hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database connection settings -->
        <!-- <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
                    <property name="connection.url">jdbc:hsqldb:hsql://localhost/TestDB</property> -->

        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/sample</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>

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

        <!-- SQL dialect -->
        <property name="org.hibernate.dialect">org.hibernate.dialect.MSQlknlknlLDialect</property>

        <!-- Enable Hibernate's automatic session context management -->

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

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create</property>

        <mapping resource="model.UserDetails"/>


    </session-factory>

</hibernate-configuration>
  

异常即将到来

Exception in thread "main" org.hibernate.MappingException: Unknown entity: model.UserDetails
    at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:747)
    at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1420)
    at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:117)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:209)
    at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:194)
    at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
    at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:661)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:653)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:648)
    at model.HibernateTest.main(HibernateTest.java:24)

1 个答案:

答案 0 :(得分:0)

你试过吗?

资源似乎根据Configuration (1.2)部分用于其他配置文件。

希望这有帮助,

何塞路易斯