powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: получить данные из связанных таблиц
12 сообщений из 12, страница 1 из 1
Hibernate: получить данные из связанных таблиц
    #38943275
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается вытянуть данные из связанных таблиц (один ко многим).

Код: java
1.
2.
List<?> list = hSession.createSQLQuery("select * from usertable u, resulttable r where u.id = r.id where r.ispassed = 1").list();
list.size(); //null pointer exception
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943281
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы что-то путаете. Не может там быть NPE. Если выборка пустая, то и список пустой. А размер 0. Это, вероятно, не весь ваш код.
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943292
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczВы что-то путаете. Не может там быть NPE. Если выборка пустая, то и список пустой. А размер 0. Это, вероятно, не весь ваш код.

Код весь. Выборка точно не должна быть пустая.
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943298
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот это работает, но хотелось бы из двух таблиц
Код: sql
1.
select * from resulttable r where r.ispassed = 1
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943301
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174 where u.id = r.id where r.ispassed = 1
А, ну так и думал. Завернули в try-catch, проигнорировали исключение, а список объявили вне этого блока. Поэтому он null.
SQL лучше отдельно тестировать в инструментах работы с БД, а не в коде проекта.
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943303
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Код весь.
Зачем же было try/catch стыдливо опускать?
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943319
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

так и было... вот что показывает
авторCaused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where r.ispassed = 1' at line 1
r.ispassed = true тоже пробовал
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943335
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

Hibernate никак вам не поможет решить проблему незнания SQL синтаксиса. Возьмите любой инструмент работы с SQL, отформатируйте запрос. И запустите.

Код: sql
1.
2.
3.
4.
SELECT * 
FROM usertable u, resulttable r 
WHERE u.id = r.id 
WHERE r.ispassed = 1



Ничего подозрительного???
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943344
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

эх, так и думал, поправил запрос.
теперь выдает на строке с запросом

авторorg.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias [id] during auto-discovery of a native-sql query
at org.hibernate.loader.custom.CustomLoader.validateAliases(CustomLoader.java:524)
at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:501)
at org.hibernate.loader.Loader.getResultSet(Loader.java:2074)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1863)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1839)
at org.hibernate.loader.Loader.doQuery(Loader.java:910)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:355)
at org.hibernate.loader.Loader.doList(Loader.java:2554)
at org.hibernate.loader.Loader.doList(Loader.java:2540)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2370)
at org.hibernate.loader.Loader.list(Loader.java:2365)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:353)
at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1873)
at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:311)
at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:141)
at ru.user.action.WinnersAction.execute(WinnersAction.java:31)
...
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943358
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

А какой вы совет ожидаете? Причина ошибки подробно изложена в сообщении об ошибке.
Вообще странно как-то пускать SQL запросы внутри Hibernate. С маппингом почему не сложилось?
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943449
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
да потому что mysql при
Код: sql
1.
CREATE TABLE IF NOT EXISTS `UserTable`


создает usertable

как задать ему правильный маппинг?
у меня было
Код: xml
1.
2.
<mapping class="ru.user.model.UserTable" />
<mapping class="ru.user.model.ResultTable" />
...
Рейтинг: 0 / 0
Hibernate: получить данные из связанных таблиц
    #38943465
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

Ну, ещё как бы аннотации для маппинга не помешали бы.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: получить данные из связанных таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]