Создание объекта из отображения Гибернации
-
12-09-2019 - |
Вопрос
Если у меня есть такое отображение, как это:
<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.
Почему это не работает?Где я могу найти документацию по сохранению объектов с коллекцией элементов?Большое вам спасибо.
Решение
Взгляните на http://docs.jboss.org/hibernate/stable/core/reference/en/html/collections.html.
Измените элемент на:
<element column="type_name" type="Type" />
Затем вы можете добавлять типы в набор.Прямо сейчас у вас это определено как String .
Не связан с StackOverflow