1

のせいで:

org.hibernate.MappingException: タイプを判別できませんでした: controller.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: 次のタイプを特定できませんでした: controller.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

Java クラスの完全修飾名は実際にcontroler.Roleですか? Roleクラスのソースコードはどのように見えますか? という名前のパッケージに入っていますcontrolerか?

単に名前のスペルが間違っているだけかもしれません。

于 2010-10-10T13:31:11.993 に答える