質問

私はこのようなマッピングを使用している場合:

<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クラスのみを取得/設定して、その中に整数user_idと文字列type_nameを持っています。

なぜそれは動作しませんか?どこで要素のコレクションを持つオブジェクトの保存に関するドキュメントを見つけることができますか?おかげでそんなにます。

役に立ちましたか?

解決

のhttpを見てください://ドキュメント.jboss.org /休止/安定/コア/参照/ EN / HTML / collections.htmlする

に要素を変更します

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

次に、あなたがセットにタイプを追加することができます。今、あなたはそれを文字列として定義されています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top