【问题标题】:Creating Object from Hibernate Mapping从 Hibernate 映射创建对象
【发布时间】:2009-07-13 14:16:16
【问题描述】:

如果我有这样的映射:

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

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

【问题讨论】:

  • 我没有保存 Type 对象,而是将字符串添加到 Collection u.getType().add(type_name)。实验有效!

标签: java mysql hibernate classcastexception


【解决方案1】:

看看http://docs.jboss.org/hibernate/stable/core/reference/en/html/collections.html

将元素更改为:

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

然后您可以将类型添加到集合中。现在您已将其定义为字符串。

【讨论】:

  • 酷。谢谢!看到那个文档,但仍然不确定对象是如何创建的......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多