4

私のUserモデルクラスは次のように伝統的です:

package org.ravij.model;

    public class User {

        private String username;
        private String password;
        private boolean isAdmin;

        public boolean isAdmin() {
            return isAdmin;
        }

        public void setAdmin(boolean isAdmin) {
            this.isAdmin = isAdmin;
        }

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }
    }

Hibernate v4.2で実行しているときに、以下の例外が発生します。

Caused by: org.hibernate.PropertyNotFoundException: Could not find a getter for isAdmin in class org.ravij.model.User
    at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:316)
    at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:310)
    at org.hibernate.mapping.Property.getGetter(Property.java:321)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:436)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:200)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:82)

以下は、Hibernateマッピング構成ファイルです。

<hibernate-mapping package="org.ravij.model">

    <class name="User" table="Users">
        <id name="username" type="string" column="User_Name" length="20">
            <generator class="assigned" />
        </id>
        <property name="password" type="string" column="Password" />
        <property name="isAdmin" column="Admin" type="boolean" />
    </class>

</hibernate-mapping>

「ブール値のゲッターが見つかりませんでした」というエラーが表示されるのはなぜですか。また、どのような変更が必要ですか。

4

1 に答える 1

5

JavaBeanの命名規則に従い、プロパティ名は「admin」です。「isAdmin」は、プロパティのアクセサメソッドの名前です。

于 2013-03-26T20:59:13.340 に答える