![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Vasay |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Пытался сменить провайдера Hibernate на TopLink
Получил:
На код:
Интересно, почему тогда Hibernate работает? Это сообщение отредактировал(а) Vasay - 15.10.2007, 00:59 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Посмотри на описания метода getResultList(), уверен, что он возвращает List - а значит и работать нужно через интерфейс List, поскольку что за реализация этого интерфейса будет использована остается на совести разработчиком библиотеки. То что ты смог, используя Hibernate, привести возвращаемое значение к ArrayList - чистая случайность. Просто реализация этого метода Hibernate возвращает именно ArrayList. Как видишь в TopLink используется другая реализация этого интерфейса. |
|||
|
||||
| alex_nevolin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 13.8.2007 Репутация: нет Всего: 4 |
На сколько я помню из своего опыта работы с Toplink, то можно указать какой класс использовать в качестве имплементации List
Должен быть метод типа:
А по дефолту вроде стоит Vector. Добавлено через 10 минут и 38 секунд JPA Toplink Вот нашел тут написано как в JPA это заюзать. смотри Query Hint [toplink.result-collection-type] |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Старая история... ТопЛинк юзает Вектор... А Хибернэйт АррэйЛист...
"Написано однажды, работает везде... " месты, мечты.. |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
это из другой оперы |
|||
|
||||
| Vasay |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Подумал, сделал так:
Учитывая, что ArrayList имеет такой конструктор:
Это правильный подход (по крайней мере работает)?
Да нет, почти из этой. Ведь про JPA говорят - что, применяя его вы не зависити от persistence-провайдера. Поменял одну строчку в persistence.xml и все ОК. А вот не получается. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||||
|
|||||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Так это ошибка в твоем коде. Тебе чисто случайно повезло, что ты смог привести возвращаемое значение к ArrayList. В Java Doc явно написано - возвращаемое значение - List (а не ArrayList). |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |