Hibernate 找不到带注释的类

问题描述

我使用 JAVA SE 和 Hibernate。 我有一个带注释类名 Message 的包(带有 javax @Entity 注释)。 我的persistence.xml很简单:

<?xml version="1.0" encoding="UTF-8"?>

<persistence-unit
        name="myFirstJPA"
        transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.Postgresql10Dialect"/>
        <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
        <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/testdb"/>
        <property name="javax.persistence.jdbc.user" value="postgres"/>
        <property name="javax.persistence.jdbc.password" value="mypassword"/>
    </properties>
</persistence-unit>

据我所知,Hibernate 在启动时会扫描所有带注释的类,以便将它们与 entityManager 一起使用。因此,当我想通过 entitymanager.persist 保留简单实体时,我收到类型错误 IllegalArgumentException:未知实体

仅当我将以下内容添加到 persistence.xml 时

        <class>com.example.entity.Message</class>

异常消失,一切正常。

因为我的项目中有大约 100 个实体,所以我不想将它们中的每一个添加到 persistence.xml 文件中,我想休眠以自动检测它们。 有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...