Domanda

Se ho una mappatura in questo modo:

<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>

Come dovrebbe essere creato l'oggetto utente? Ho fatto questo:

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

Ma ci sarà il java.lang.ClassCastException: Type errore. La classe Type ha solo un user_id intero e type_name stringa con get / set.

Perché non funziona? Dove posso trovare la documentazione su come salvare gli oggetti con la raccolta di elementi? Grazie mille.

È stato utile?

Soluzione

Dai un'occhiata alla http: // docs .jboss.org / sospensione / stabile / core / riferimento / it / html / collections.html .

Modificare l'elemento da:

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

Quindi è possibile aggiungere i tipi al set. In questo momento lo avete definito come stringa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top