0

User と Family の 2 つのクラスがありますが、実行時にそれらを「結合」できません (プロパティを削除しても問題はありません)。

SEVERE: IllegalArgumentException in class: User, setter method of property: family
Apr 07, 2013 11:16:41 AM org.hibernate.property.BasicPropertyAccessor$BasicSetter set
SEVERE: expected type: org.hibernate.mapping.Set, actual value: org.hibernate.collection.PersistentSet

クラス:

public class User 
{
    //....//
    private Set family;
    //...//
    public void setFamily(Set fam)
    {
        this.family = fam;
    }
    public Set getFamily()
    {
        return this.family;
    }
}

public class Factory
{
       //...//
        tx = session.beginTransaction();
        List users = session.createQuery("FROM User").list(); //is it a query issue ?
        allUsers = new User[users.size()];
        for (Iterator iterator = users.iterator(); iterator.hasNext();)
        {
            User user = (User) iterator.next();
            allUsers[i] = user;
            System.out.print("\nFirst Name: " + user.getName());
            i++;
        }
        tx.commit();
       //....//
}

構成:

<hibernate-mapping>
    <class name="User" table="users">
        <meta attribute="class-description"> This class contains the employee detail. </meta>
        <id name="id" type="int" column="user_id"> <generator class="native"/> </id>
        <set name="family" cascade="all">
            <key column="family_id"/>
            <one-to-many class="Family"/>
        </set>
        <property name="name" column="user_name" type="string"/>
        <property name="surname" column="user_surname" type="string"/>
        <property name="income" column="user_income" type="int"/>
        <property name="costs" column="user_costs" type="int"/>
    </class>

    <class name="Family" table="families">
        <meta attribute="class-description"> This class contains the certificate records. </meta>
        <id name="id" type="int" column="family_id"><generator class="native"/></id>
        <property name="name" column="family_name" type="string"/>
    </class>
</hibernate-mapping>

私は休止状態が初めてで、これに頭を悩ませることはできません...構成ファイルを変更し、クエリを変更しようとしましたが、まだ運がありませんPS:ユーザーとファミリーテーブルにエントリが1つしかありません。

4

0 に答える 0