1

造成的:

org.hibernate.MappingException:无法确定类型:controler.Role,列:[org.hibernate.mapping.Column(ROLE)]

你能帮我解决这个问题吗?

这是我的映射类

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <class name="controler.Role" table="ROLE">
      <id name="roleId" column="ROLEID">
          <generator class="increment"/>
      </id>
      <property name="title" column="TITLE"/>
  </class>
</hibernate-mapping>

Role 是一个 pojo 类,我在 JavaDB 中有名为 Role 的相关表。角色表有属性roleid(char)和roletitle(varchar)

4

3 回答 3

3

引起:org.hibernate.MappingException:无法确定类型:controler.Role,列:[org.hibernate.mapping.Column(ROLE)]

我最初的假设是错误的。但是既然您提到了JavaDB,我怀疑它ROLE实际上是一个保留关键字。尝试在映射文档中用反引号将表名括起来:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <class name="controler.Role" table="`ROLE`">
      <id name="roleId" column="ROLEID">
          <generator class="increment"/>
      </id>
      <property name="title" column="TITLE"/>
  </class>
</hibernate-mapping>

参考

于 2010-10-10T06:03:23.670 回答
0

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="controler.Role" table="角色"> <id name="roleId" type="int" column="ROLEID"> <generator class="increment"/> </id> <property name="title" column="TITLE"/> </class> </hibernate-mapping>

于 2013-04-05T11:15:34.493 回答
0

实际上是 Java 类的完全限定名称controler.Role吗?该类的源代码是Role什么样的?它在一个名为 的包中controler吗?

也许这个名字只是拼错了。

于 2010-10-10T13:31:11.993 回答