0

このようなマッピングがある場合:

<class name="Users" table="users">
    <id column="id" name="id">
        <generator class="native"/>
    </id>
    ...
    <set name="types" table="types" cascade="all">
        <key column="user_id" />
        <element column="type_name" type="string" />
    </set>
</class>

ユーザーオブジェクトはどのように作成する必要がありますか?これは私がしました:

User u = new User();
u.getType().add(new Type(type_name));
getHibernateTemplate().save(u);

ただし、エラーが発生しますjava.lang.ClassCastException: Type。Typeクラスには、get/setを含む整数user_idと文字列のみが含まれます。type_name

なぜそれが機能しないのですか?要素のコレクションを使用してオブジェクトを保存するためのドキュメントはどこにありますか?ありがとうございます。

4

1 に答える 1

2

http://docs.jboss.org/hibernate/stable/core/reference/en/html/collections.htmlをご覧ください。

要素を次のように変更します。

<element column="type_name" type="Type" />

次に、タイプをセットに追加できます。現在、文字列として定義されています。

于 2009-07-13T14:23:45.130 に答える