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 类中只有一个整数user_id和字符串type_name,其中包含 get/set。

为什么它不起作用?在哪里可以找到有关使用元素集合保存对象的文档?非常感谢。

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