![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Приветик чудики
Есть код: List list=ses.createSQLQuery("select * from events").addEntity(Event.class).list(); No questions. Но как бить если мне нузно 4тоби обекти били облегчённие.Тоест иницилизировани отделние проперти, но не все.Пробивал по всякому |
|||
|
||||
| tux |
|
||||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Привет, чудик!
Решается все достаточно просто. Нужно определить в классе конструктор с необходимым перечнем параметров и использовать конструктор внутри запроса. Вот пример выполнения запроса:
А таким образом выглядит конструктор в классе DpoFile:
|
||||
|
|||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Момент.Я исплзую Bean .Я не могу сделать конструктор.
|
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Ясно. Тогда делаем еще проще Пример из Hibernate Reference Documentation:
В запросе, естественно, должны быть перечислены только нужные поля таблицы и атрибуты объектов. Конструкции без фигурных скобок задают таблицу.поле, конструкции типа {cat.mate} задают объект.атрибут. |
|||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Спасибки попробую
|
|||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Не получается.Есть класс Event там property id(String),title,date(Date).Хочу вибрать title i id.Пишу
String sql="select event_id as {event.id}, " + "title as {event.title} "+ "from events event"; List list=ses.createSQLQuery(sql).addEntity("event",Event.class).list(); log.info(((Event)list.get(0)).getId()); Добавлено @ 16:53 Кстати таблица Events там столбци event_id,title,event_date |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Да, действительно не получается. При получении экземпляра объекта Hibernate пытается получить и отсутствующие в запросе поля таблицы, что вызывает исключение драйвера JDBC. Что же, попробую подумать как его обмануть.
В следующий раз постарайся писать какая возникла ошибка и где, приводить stackTrace и т.п. |
|||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Ошибка странная
org.hibernate.exception.SQLGrammarException: could not execute query at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:65) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.loader.Loader.doList(Loader.java:2148) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029) at org.hibernate.loader.Loader.list(Loader.java:2024) at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:111) at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1674) at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:147) at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164) at events.EventManager.loadList(EventManager.java:93) at events.EventManager.<init>(EventManager.java:19) at events.EventManager.main(EventManager.java:24) Caused by: java.sql.SQLException: Column 'EVENT2_0_0_' not found. at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:2806) at com.mysql.jdbc.ResultSet.getTimestamp(ResultSet.java:2427) at org.hibernate.type.TimestampType.get(TimestampType.java:30) at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113) at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102) at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81) at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:1899) at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1372) at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1300) at org.hibernate.loader.Loader.getRow(Loader.java:1197) at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569) at org.hibernate.loader.Loader.doQuery(Loader.java:689) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.doList(Loader.java:2145) ... 9 more |
|||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Не ужели не кто не знает !!!
Без етого не лзя исплзовать Hibernate |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Мдя. Похоже первый способ с конструктором - единственный решающий проблему. Честно говоря не представляю себе ситуацию когда нельзя написать конструктор хотя бы для решения именно этой задачи.
|
|||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
mda ......Осталось добавить мы все умрём.
|
|||
|
||||
![]()
|
| Правила форума "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. |