【问题标题】:Exception in thread "main" org.hibernate.MappingException: Unknown entity: bitronix.examples.hibernate.entities.User线程“主”org.hibernate.MappingException 中的异常:未知实体:bitronix.examples.hibernate.entities.User
【发布时间】:2016-06-09 06:05:22
【问题描述】:

我在 Eclipse 控制台上遇到以下异常

Exception in thread "main" org.hibernate.MappingException: Unknown entity: bitronix.examples.hibernate.entities.User

我的 hibernate.cfg.xml 是这样的:

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="hibernate.connection.password">postgres</property>
        <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/bitronixH4</property>
        <property name="hibernate.connection.username">postgres</property>
        <property name="hibernate.connection.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="hibernate.hbm2ddl.auto">create</property>
        <mapping resource="bitronix/examples/hibernate/entities/User.hbm.xml" />
    </session-factory>
</hibernate-configuration>

我的 Test.java 类是这样的

package bitronix.examples.hibernate.entities;

public class Test {
    public static void main(String[] args) {
        Configuration configuration = new Configuration();
        configuration.configure("hibernate.cfg.xml");
        ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties()).build();
        SessionFactory sf1 = new Configuration()
                .buildSessionFactory(serviceRegistry);
        Session session = sf1.openSession();
        session.beginTransaction();
        User user = new User();
        user.setName("rrr");
        session.save(user);
        session.getTransaction().commit();
    }
}

感谢任何建议或帮助。

编辑:我的 User.java 是这样的

public class User {
private Integer id;
private String name;
//getters and setters
}

我的User.hbm.xml是这样的

<hibernate-mapping >
    <class name="bitronix.examples.hibernate.entities.User" table="test_user" >
        <id name="id" type="int">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="name" type="string">
            <column name="name" />
        </property>
    </class>
</hibernate-mapping>

【问题讨论】:

  • 向我们展示您用于初始化 Hibernate 的 Java 代码。
  • 我没有任何 Java 代码,除了 Test.java 类,我已经在上面发布了。

标签: java hibernate hibernate-mapping hibernate-4.x


【解决方案1】:

问题显然在于配置代码。你创建了两次Configuration

做吧

SessionFactory sf1 = new Configuration().configure().buildSessionFactory();

我知道,它在 Hibernate 4 中已被弃用。但对于 Hibernate 5,这是一个好方法。这种 Hibernate 4 方法不适用于 Hibernate 5。

Hibernate 5 :- org.hibernate.MappingException: Unknown entity

【讨论】:

  • 现在我不得不接受我一生中犯了这么愚蠢的错误的事实。
  • @BhushanPatil 每个人都可能在配置方面犯错。 Hibernate 有一个非常不方便的 API 和一个不清楚的文档。尝试编写尽可能少的代码。例如,这里有很多人使用了很多不必要的注释。
猜你喜欢
  • 2016-01-16
  • 1970-01-01
  • 2016-03-01
  • 2017-06-03
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
  • 2014-09-01
相关资源
最近更新 更多