获取'线程“主”java.lang.IllegalArgumentException中的异常:未知实体:<entityClass>'

Posted

技术标签:

【中文标题】获取\'线程“主”java.lang.IllegalArgumentException中的异常:未知实体:<entityClass>\'【英文标题】:Getting 'Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: <entityClass>'获取'线程“主”java.lang.IllegalArgumentException中的异常:未知实体:<entityClass>' 【发布时间】:2019-01-09 11:29:13 【问题描述】:

我创建了一个简单的休眠应用程序并在运行时遇到上述异常(我使用的是hibernate 5.4.0.Final 版本)。一切正常如果我使用版本4.3.5.Final 但不是5.4.0.Final

试过How to get rid of 'java.lang.IllegalArgumentException: Unknown entity' while running a simple hibernate app?,没用。

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>
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@192.168.0.998:1522:TEST</property>
        <property name="connection.username">test</property>
        <property name="connection.password">test</property>
        <property name="hbm2ddl.auto">update</property>
        <property name="show_sql">true</property>

        <mapping class="com.mahipal.model.WsdlMst"/>

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

追踪:

Exception in thread "main"
java.lang.IllegalArgumentException: Unknown entity: com.mahipal.model.WsdlMst
    at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:807)
    at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:788)
    at com.mahipal.test.Test.main(Test.java:56)

【问题讨论】:

添加您的 hbm 配置和可能的完整堆栈 @Mahipal 请显示您的代码。然后详细说明你的问题。 可能重复:***.com/questions/29004334/… 您是否使用@javax.persistanace.Entity 注释了WsdlMst? @MaciejKowalski 我做到了。 【参考方案1】:

检查必须定义实体类的Hibernate配置文件:

例如

或者您必须使用显式将类添加到配置中

例如 configuration.addClass(annotations.Users.class) 将映射读取为应用程序资源名称 addResource 用于在声明性方法的情况下添加 hbml.xml 文件 configuration.addResource("myFile.hbm.xml"); // 不是 hibernateAnnotations.cfg.xml

【讨论】:

以上是关于获取'线程“主”java.lang.IllegalArgumentException中的异常:未知实体:<entityClass>'的主要内容,如果未能解决你的问题,请参考以下文章

Android Handler 子线程获取主线程handler发送数据给主线程

QT中UI主窗口如何与子线程相互传递参数

多线程异步操作导致异步线程获取不到主线程的request信息

核心数据:获取背景并在主线程上使用 objectWithID,性能优势?

从firebase获取数据并将其返回到主线程[重复]

核心数据使用完成处理程序执行获取请求或在主线程以外的其他线程中执行