从 Hibernate 映射创建对象
如果我有这样的映射:
<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 功能。
为什么不起作用? 在哪里可以找到有关使用元素集合保存对象的文档? 非常感谢。
If I have a mapping like this:
<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>
How should the user object be created? I did this:
User u = new User();
u.getType().add(new Type(type_name));
getHibernateTemplate().save(u);
But there will be the error java.lang.ClassCastException: Type
.
The Type class only has an integer user_id
and string type_name
in it with get/set.
Why doesn't it work? Where can I find documentation on saving objects with collection of elements? Thanks you so much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看看http://docs.jboss。 org/hibernate/stable/core/reference/en/html/collections.html。
将元素更改为:
然后您可以将类型添加到集合中。 现在您已将其定义为字符串。
Have a look at http://docs.jboss.org/hibernate/stable/core/reference/en/html/collections.html.
Change the element to:
Then you can add types to the set. Right now you have it defined as String.