java.lang.Exception:不是实体:class com.domain.package.User
我正在将实体映射从annotations应用程序迁移到hbm.xml 我出错了,没有找到解决方案。谢谢java.lang.Exception:不是实体:class com.domain.package.User,java,spring,spring-boot,hibernate,hibernate-jpa,Java,Spring,Spring Boot,Hibernate,Hibernate Jpa,我正在将实体映射从annotations应用程序迁移到hbm.xml 我出错了,没有找到解决方案。谢谢 java.lang.Exception: Not an entity: class com.enterprise.package.user.domain.User 我在resources文件夹中有hibernate.cfg.xml,在一个包中有User.hbm.xml,在另一个包中有User.class User.hbm.xml <?xml version = "1.0&qu
java.lang.Exception: Not an entity: class com.enterprise.package.user.domain.User
我在resources文件夹中有hibernate.cfg.xml,在一个包中有User.hbm.xml,在另一个包中有User.class
User.hbm.xml
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.enterprise.package.role.domain.User" table="user">
<id name="id" type="java.lang.Long">
<column name="id" />
<generator class="identity" />
</id>
<property name="username" column="username" type="java.lang.String" unique="true"/>
<property name="password" column="password" type="java.lang.String"/>
<many-to-one name="role" column="role_id" class="com.enterprise.package.role.domain.Role" not-null="true"/>
</class>
</hibernate-mapping>
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/db</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">**</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
<property name="show_sql">true</property>
<mapping package="com/enterprise/package/user/infrastructure/persistence/hibernate/Role.hbm.xml"/>
<mapping package="com/enterprise/package/user/infrastructure/persistence/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
com.mysql.cj.jdbc.Driver
jdbc:mysql://localhost:3306/db
根
**
org.hibernate.dialogue.mysql8dialogue
真的
我认为User.hbm.xml中User类的包可能是错误的(我们在您的代码片段中看不到这个类的包)
在User.hbm.xml中,而不是
com.enterprise.package.role.domain.User
可能是
com.enterprise.package.user.domain.user
我刚刚意识到复制和粘贴错误,两个实体都在com.enterprise.package.user.domain中*是的,它发生了。。。如果这是问题所在,你可以接受我的答案,thkx
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/db</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">**</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
<property name="show_sql">true</property>
<mapping package="com/enterprise/package/user/infrastructure/persistence/hibernate/Role.hbm.xml"/>
<mapping package="com/enterprise/package/user/infrastructure/persistence/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>