如果我有这样的映射:
<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
,其中包含get / set。
为什么不起作用?在哪里可以找到有关使用元素集合保存对象的文档?非常感谢你。
答案 0 :(得分:2)
看看http://docs.jboss.org/hibernate/stable/core/reference/en/html/collections.html。
将元素更改为:
<element column="type_name" type="Type" />
然后您可以向集合中添加类型。现在你把它定义为String。