Хранить список в спящем режиме как Serializable объект - PullRequest
2 голосов
/ 08 июля 2011

Обычно мы храним список в базе данных с помощью отображения гибернации:

<list name="userItems" cascade="all" lazy="false">
    <key column="user_date_id"/>
    <index column="idx"/>
    <one-to-many class="UserItem"/>
</list>

Есть ли другой способ?Можем ли мы сохранить его как Seizizable объект?Нравится:

<property name="list" column="list" type="serializable" />

Ответы [ 2 ]

3 голосов
/ 29 июля 2011

Я использую Hibernate Annotiations, и здесь уловка состоит в том, чтобы определить ваше поле как List реализацию, например ArrayList. Затем (как и любой другой класс, реализующий Serializable - я думаю) Hibernate сохраняет его как bytea в базе данных.

Конечно, список должен содержать только элементы, которые реализуют Serializable.

1 голос
/ 08 июля 2011

Я не уверен, что вы можете напрямую сериализовать список, но если нет, вы можете создать объект-оболочку для списка и объявить его как большой объект (не знаю вариант xml, но это аннотация @Lob). Затем он должен быть автоматически сериализован, поскольку это не строка и, следовательно, не сгусток, а скорее сгусток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...