Как изменить отображение коллекции Hibernate из набора в список - PullRequest
3 голосов
/ 08 июля 2011

Я использую Инструменты затмения для генерации моих Классов аннотированного доменного кода. Для отношений один ко многим и много ко многим генерируется код используется тип набора для коллекций.

Я хочу изменить его на List или ArrayList. Какой должна быть моя конфигурация в месть.xml

Кроме того, каковы стандартные типы преобразования между MySQL и Java. Я имею в виду, что varchar преобразуется в строку, int в int и т. Д.

Может ли кто-нибудь поделиться довольно стандартным файлом venv.xml для преобразования типов ... ???

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Вы не должны использовать List по умолчанию вместо Set.Но если вам нужно это пунктуально, это может помочь вам:

public <T> List<T> fromSetToList(Set<T> set) {
    return new ArrayList<T>(set);
}
1 голос
/ 08 июля 2011

Кроме того, каковы стандартные типы преобразования между MySQL и Java.Я имею в виду, что varchar преобразуется в строку, int в int и т. Д.

Для справки по отображениям Hibernate я нашел следующую ссылку полезной для основных сценариев.Более сложные сопоставления см. В полной документации по hibernate.

Шпаргал по отображению Hibernate

Что касается Списка и Набора, то Set должен фактически быть типом Коллекции, который выследует использовать.Единственное различие между List и Set состоит в том, что List подразумевает порядок элементов, а Set не допускает дублирование.Простой набор записей БД не имеет указанного порядка и не имеет дубликатов, поэтому набор является подходящим.Список будет полезен только в том случае, если в вашем запросе указан порядок и / или вы хотите использовать некий UNION, который может создавать дубликаты.

Я не знаю, как превратить ваши наборы в списки, но я бы посоветовал вамвопрос, если вы действительно хотите это сделать.

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