|
|
|
Аннотации на JPA
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, всем! Ребята подскажите пожалуйста как правильно аннотировать. есть таблица скажем T1 , в нем есть поля (id, name) так вот в Entity я делаю сам запрос и геттер/сеттер методы: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ну как бы все правильно работает, а вот как поступить если мне нужна получить количество? т.е. если запрос примерно такой: SELECT COUNT(c.id) AS kolvo FROM T1 c нужна ли аннотировать kolvo ? P.S. Но явно не с так на сколько я понимаю: @Column(name = "KOLVO") Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2015, 15:38 |
|
||
|
Аннотации на JPA
|
|||
|---|---|---|---|
|
#18+
МузаффарЗдравствуйте, всем! Ребята подскажите пожалуйста как правильно аннотировать. есть таблица скажем T1 , в нем есть поля (id, name) так вот в Entity я делаю сам запрос и геттер/сеттер методы: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ну как бы все правильно работает, а вот как поступить если мне нужна получить количество? т.е. если запрос примерно такой: SELECT COUNT(c.id) AS kolvo FROM T1 c нужна ли аннотировать kolvo ? P.S. Но явно не с так на сколько я понимаю: @Column(name = "KOLVO") Заранее спасибо! Хммм, странно - сущность маппируется на таблицу (поля класса на колонки таблицы). В данном же случае - kolvo это свойство не сущности, а свойство таблицы + условие WHERE может быть. Я бы сделал метод, как то так (точно с ходу не помню) Код: java 1. 2. 3. 4. И просто обращался бы потом к данному методу Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2015, 16:27 |
|
||
|
Аннотации на JPA
|
|||
|---|---|---|---|
|
#18+
Мапировать не надо, просто следует использовать другой метод Код: java 1. 2. Также можно использовать criteria api или hibernate mapping ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2015, 16:35 |
|
||
|
Аннотации на JPA
|
|||
|---|---|---|---|
|
#18+
eJack, ivanra, а что если надо немножко иной запрос а точнее вот такой? Код: plsql 1. такие подходы (которые Вы показали) на сколько подойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2015, 19:31 |
|
||
|
Аннотации на JPA
|
|||
|---|---|---|---|
|
#18+
Музаффар Код: plsql 1. в hibernate для этого есть ResultTransformer. Создаем объект Код: java 1. 2. 3. 4. 5. Наименования полей в этом классе должны совпадать с алиасами в запросе (firstname, kolvo). Этот класс не обязательно должен быть сущностью (@Entity), обычный POJO. Далее даем hibernate прокастовать результат Код: java 1. 2. 3. не знаю, получится ли то же самое с TypedQuery<AbiturientsAggregate>, предлагаю попробовать. В учебнике же предлагается переписать запрос следующим образом Код: sql 1. 2. Ну, и не забыть добавить конструктор со всеми полями в AbiturientsAggregate. То есть тут не важно, какие названия возвращаемых полей, используются их зачения в конструкторе. Мне кажется такой подход немного избыточным, я бы попробовал первый вариант (без изменения запроса), по-моему, должно сработать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 10:11 |
|
||
|
Аннотации на JPA
|
|||
|---|---|---|---|
|
#18+
ivanra, довольна полезная ссылка http://docs.oracle.com/javaee/7/api/javax/persistence/ConstructorResult.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 16:53 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38951879&tid=2125442]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 369ms |

| 0 / 0 |
