|
|
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
доброе утро собственно есть общий вопрос : как вернуть что то произвольного типа ? Код: java 1. 2. 3. Это вернет массив из двух объектов вида List<Object[]> ... sql будет такой Код: java 1. 2. 3. 4. 5. 6. в java для работы с orm и базами нет ни пар ни каких то абстракций для результата выполнения произвольного запроса?! можно как в ejb указать dto класс ? или как минимум обвязка из SqlResultSetMapping http://docs.oracle.com/javaee/5/api/javax/persistence/SqlResultSetMapping.html Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 09:01 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1, JPQL спеку надо смотреть. Но HQL точно умеет: https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html 14.6. The select clause Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 09:10 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
я имел ввиду Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 09:29 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1я имел ввиду Что это принципиально меняет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 09:31 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAtum1, JPQL спеку надо смотреть. Но HQL точно умеет: https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html 14.6. The select clause Код: sql 1. Да я про это знаю ... я как раз не про внутреннее преобразование в jpql а как бы сказать внешнее ...по типу SqlResultSetMapping - когда мы говорим что ответ нужно положить в структуру вида (и указываем вид ) но для примеров с SqlResultSetMapping - Это оверхад с бойлерплейт кодом Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. http://stackoverflow.com/questions/13012584/jpa-how-to-convert-a-native-query-result-set-to-pojo-class-collection может есть что то типа Project Lombok ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 09:33 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
в Hibernate очень удобная штука есть - ResultTransformers Код: java 1. 2. 3. результиркющий бин - очычный pojo класс, не требующий никаких аннотаций, только геттеры и сеттеры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 10:20 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
http://www.thoughts-on-java.org/result-set-mapping-complex-mappings/ Код: java 1. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Код: java 1. 2. 3. 4. 5. 6. 7. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 16:50 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
вопрос тогда такой - где хранить эти sql запросы ? в коде или вxml в базе ? Код: java 1. где вы их храните ? или в в виде хранимых процедур в БД ? тогда как вы их исполняете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 17:04 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
http://www.thoughts-on-java.org/result-set-mapping-hibernate-specific-mappings/ для hibernate Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 17:20 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Если уже определился что все будет на sql / plsql где хранить исходники этих самых sql запросов ? относительно кода их исполнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 17:25 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1 где хранить исходники этих самых sql запросов ? относительно кода их исполнения? в коде. Т.к. это тоже код, только на SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 18:07 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1 где хранить исходники этих самых sql запросов ? относительно кода их исполнения? в коде. Т.к. это тоже код, только на SQL т.е если нужно подправить условии в sql строке - нужно пересбрать весь код на вашем проекте ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 08:54 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1, Во первых большие проекты модульные. Во вторых, вопрос: Если вам надо поправить условие if зарплата > 2 то вам нужно будет пересобирать весь проект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 09:25 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Хоть аннотации и позволяют, но хранить в запросы в коде очень неудобно. Хотя бы из-за кавычек. Я лично всё, что занимает более одной строки, складываю в xml ресурсы. Вот, например, именованный hibernate запрос, возвращающий не-entity данные Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Использовать чистый jpql в данном случае не получится, так как там возможно трансформировать результаты только в entity. Кроме того, подобные запросы не требуют никакого дополнительного кода (addScalar), пример я привел выше. Таким образом, все метаданные собраны в одно место и положены отдельно от кода, что довольно удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 09:37 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
>Изначально мой вопрос более философский навеяно темами 6! летней давности Hibernate performance — Ковальски, варианты?! http://javatalks.ru/topics/32234?page=1 http://javatalks.ru/topics/19539?page=1 и этим видео [youtube= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 09:45 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
ivanra, Если он большой, то все индивидуально. Значит он должен в бд сидеть. Во вьюшке. Мы же про CRUD. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 10:01 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Спасибо за ваш опыт ... да хранить либо в xml либо в ввиде plsql процедур в БД (как делаю сейчас) просто еще раз - хибернейт , jpa, orm , crud это все не очень удобно ... :(? долго , как в разработке так и в поддержке ... Мнимость удобства crud и orm - слабый контроль над генерируемым sql и огромный набор знаний 1) отличное знание и понимание sql 2) отличное знание того как работает Хибер (как джоинит , стоит запросы итд ) Нельзя просто так взять и использовать Хибер ! Вот мой пример в противовес тому что обычно приводят в книгах ! ( объектная модель : автор- книги - адрес ) я приду другой контр пример : попробуйте правильно составить entity модель и написать когда в таблицах есть дерево объектов! Employee - сотрудник , есть связь с отделом и есть коллекция подчиненных и связь с руководителем Самое простое всего три таблицы : Нужно вытащить сотрудника по его id через jpql или критериа апи и вызвать его метод toString() есть таблицы : Department - отделы : Employee - сотрудник , есть связь с отделом и есть коллекция подчиненных и связь с руководителем Shift - время прихода /ухода сотрудника на работу Проблемы : 1 берем простой подход через spring data jpa Repository - есть метод findOne Код: java 1. 2. 3. 4. 5. 6. Пишем тест Код: java 1. 2. 3. 4. 5. 6. 7. 8. получаем Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. и Код: plsql 1. 2. почему? потому что у Employee fetch = FetchType.LAZY меняем Код: java 1. 2. получаем все ок ! но при этом лишний запрос ... теперь рассмотрим классический код EmployeeServiceImpl PersistenceContext Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. та же ошибка !!!!!! Повторяю я просто хочу запросить пользователя ... без его коллекций ?! !!! и вызвать public String toString() { return "Employee{ вся засада в простом : employeeId инициализируется через прокси и ждет когда его дернут ... даже если нам нужно лишь проверить id а если у нас транзакция закрылась - вообще беда !!! Исходные данные Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. Для всех у кого есть желание по изучать как хибернейт делает прокси и стоит запросы по коду - исходники для mysql приложил ... играться можно всеми параметрами + Код: java 1. 2. 3. 4. 5. еще раз проблематика - получить сотрудника вывести его на печать ... получить сотрудника и список его подчиненных получить сотрудника и список его подчиненных и ссылку на его начальника итд Код для теста : Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 10:36 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1Мнимость удобства crud и orm много букв не читал. Ты на святое посягнул что ли? ))). Тут же эта тема через раз. А ты, насколько знаю - любишь спринг\орм\хибер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 10:42 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1просто еще раз - хибернейт , jpa, orm , crud это все не очень удобно ... :(? долго , как в разработке так и в поддержке ... Мнимость удобства crud и orm - слабый контроль над генерируемым sql и огромный набор знаний А вот возьми и напиши всё на JDBC с транзакциями, кешированием, кучей ассоциаций и потом вместе посмеёмся на сколько "проще" получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 11:16 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1, с одной стороны пишешь авторПовторяю я просто хочу запросить пользователя ... без его коллекций ?! !!!, а с другой - вот такой код Код: java 1. 2. 3. 4. 5. 6. 7. вот же они, коллекции (employee.getEmployees(), employee.getShifts()). employee выведется на консоль без вопросов, независимо от жадных и ленивых связей, а вот дальше - в зависимости от жадности метода employeeRepository.findOne ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 11:32 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1Мнимость удобства crud и orm много букв не читал. Ты на святое посягнул что ли? ))). Тут же эта тема через раз. А ты, насколько знаю - любишь спринг\орм\хибер. да и еще как люблю :) на задчках типа crud вытащи все из базы вот тебе пример ... просто в очередной раз 19285319 решил проверить что же там такое генерит Хибер взял не простой пример - дерево сотрудников и пришел а тихий ужас ! поднял пару старых 2010 года тем - посмотрел что новое появилось ... посмотрел видео .... ссылки все тут скинул ... много букв не читал. - я бы попросил - потестить попробовать позапускать ... то что сейчас представляет из себя Хибер - полный садоом ... реально потом обдало холдным .... поясню : 1) модель правильную опиши ... а что если иногда нужно делать так а потом так (а модель то описывает исключительно одно поведение - она не гибкая , каскады , null значения , Lazy объектов и коллекций) 2) после этого начинай писать запросы на jpql | критериях 3) после этого погружайся в Мир увлекательного перфоманса и оптимизиции (101 трюк который должен знать каждый Хибер разработчик) ссылки я привел в топике . (как кешировать jpql | критериях запросы , через граф апи, через кеши, через хинты итд , ) - нужно обязательно знать Вместо того чтобы : 1) написать хранимку 2) построить ее план (оптимизировать ее в БД) 3) Вызвать из java кода - и каким то образом замапить на объект - или коллекцию ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 11:59 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1 то что сейчас представляет из себя Хибер - полный садоом ... обычное дело. Ты познаёшь Мир и тебя шатает из стороны в сторону. Выше сказали - сделай полный цикл примера без ОРМ и тогда у тебя наступин нирвана. Просто одна критика одной стороны неконструктивна. Нужно as is to be - во все времена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 12:07 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum13) Вызвать из java кода - и каким то образом замапить на объект - или коллекцию ...Ярые противники Hiber'а так и не раскрыли тему мэппинга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 12:25 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
UsmanAtum13) Вызвать из java кода - и каким то образом замапить на объект - или коллекцию ...Ярые противники Hiber'а так и не раскрыли тему мэппинга Я как раз не противник ... я ярый сторонник ... просто мне не очень нравится современный подход к решению ОРМ проблемы . Я привел простой пример ... Да я ищу Серебряную пулю - мне нужен компромисс ... И Да - Писать лапшу на jdbc это оверхед ... ДА мы пошли по верному пути - декларативный подход обернули метод @Transactional - введя Аспект - прокси и это правильно ... код стал чище ... но потом свернули куда то не туда и вместо одного кода из спагетти пишем другой из спегетти аннотаций - декларативный ... вот еще раз пример : http://www.thoughts-on-java.org/result-set-mapping-complex-mappings/ Код: java 1. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: java 1. 2. 3. 4. 5. +нужно добавить кеширование запросов , кеширование результатов , хинты итд ... и где тут плюс ? А да если делать через hql |jpql - Это будет не один запрос - а + n запросов для получения доп данных по модели ... с которыми также еще нужно разбираться и автоматизировать ... и где плюсы? ткните носом? А да - совсем забыл Еще пара вопросов : 1) удаление - через Хибер - чтобы просто выполнить delete - нужно создать темповую таблицу вставить туда id удаляемой записи - потом удалить ... а если нужно удалить n записей ? как делать корректный батч на удаление ? 2) обновить поле - нативно update . а через орм - нужно вытащить весь объект ( + все коллекции у него если итд ) потом сохранить ... 3) А да еще нельзя что то делать с самим объектом просто так ... и что то в нем менять ... нужно всегда его брать из базы ... все время помнить про жизненный цикл объекта (персист , аттац , детач, мердж, флеш ) - не слишком много ? (помнить про корректность хешкода и иквался про иммутабельность в хешмапах итд ... ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 14:17 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1, все эти аннотации и запросы прямо в коде хороши для учебных целей и простейших случаев. Когда они разрастаются, гораздо удобнее работать с ними в ресурсных файлах. Ну и конечно, если есть возможность спускаться от jpa к hibernate/eclipselink/etc. Там гораздо больше возможностей. Например, положительный ответ на доп.вопросы - в hibernate (hql) все crud-запросы работают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 20:40 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
ivanraесли есть возможность спускаться от jpa к hibernate +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2016, 11:53 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Petro123ivanraесли есть возможность спускаться от jpa к hibernate +1 Прошу пояснить и более глубже раскрыть мысль ? как я понял , на данный момент hibernate 5.2 полностью поддерживает jpa 2.1 спецификацию. т.е если мне нужно что то новое из 5.2 ,что есть только в Хибере я должен делать нечто подобное Код: java 1. или Код: java 1. Так же , как я понимаю вместо @persistencecontext entitymanager использовать SessionFactory sessionFactory; и в каждом методе делать Session session = sessionFactory.getCurrentSession(); Код: java 1. 2. 3. 4. 5. 6. 7. 8. нужно будет расставлять спринговые @Transactional как и раньше без изменений ? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 09:10 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
или на двух стульях сидеть не получится ??? ибо классический jpa конфиг такой : Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. а для Хибера нужно указывать : Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. т.е если в jpa - мы указываем Хибер как вендора ,то при явном указании идет просто sessionFactory. возможно ли иметь настройку по умолчанию jpa - а по необходимости использовать sessionFactory ? или лучше сразу конфигурипровать все под Хибер ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 09:56 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Atum1, если в чистом хибере, то вот это работает Код: java 1. 2. 3. 4. 5. насчет комбинирования - я лично в связке со спрингом не пробовал Код: java 1. В CDI это работало. При этом есть подозрение, что изменения, что сделанные на уровне хибера, на более высоком уровне (jpa EntityManager) не будет видно, но нужды проверять не было, поэтому не знаю. Ну и в принципе, берем "легковесный" спринг, но зачем-то тянем jpa ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 10:44 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
ivanra, Написал тест там сессия получается явно закрывая работает только через session = session.getSessionFactory().openSession(); Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Нужно конечно разбираться - но пока JPA более предпочтителен ... чем читстый Хибиер Ибо они с каждым новым чеклистом чистят https://github.com/hibernate/hibernate-orm/wiki/Migration-Guide---5.2 подгоняя все под JPA 2.1 http://in.relation.to/2016/06/01/hibernate-orm-520-final-release/ ( я даю отчет что Чистый Хибер это монстр - по возможностям - это как сравнивать возможности Спринг и javaEE спеки ... спринг > javaee Хибер > jpa 2.1 ) И Если я сделал свой вабор три года назад и ушел от java ee на спринг ,о чем не жалею ... то вот так вот полностью перестить все на Хибер - очень боязно ... все таки в области работы с обастью постоянства лучше придерживаться пусть и куцой но спецификации jpa - ИМХО, конечно ... может я и не прав. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. из плюсов + новые фишки http://in.relation.to/2016/02/10/hibernate-orm-510-final-release/ Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 11:21 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
И еще один нубовский вопрос про employeeService.findOne(2) Если хочу догрузить данные для бина то получаю org.hibernate.LazyInitializationException: could not initialize proxy - no Session Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. //em.getTransaction().begin(); //em.getTransaction().commit(); обернуть в непомогает . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 15:11 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Сразу скажу что если делать PersistenceContextType.EXTENDED Код: java 1. 2. то все будет работать - дергать буем все у экземпляра и все будет подсасываться отдельными запросами ... вопрос именно как на уровне метода когда по умолчению задано так? как EntityManager заставить внутри метода не закрываться ? когда выставлено поле : Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 15:17 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Тест Самый простой время исполнения на базе : 0.001 s Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. через createNativeQuery 0.07 s Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. где Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. лучшее время 7 ms против 1 ms !!! и Это нативный запрос у которого @Transactional(readOnly = true ,propagation = Propagation.SUPPORTS) если делать обучный где все коллекции и поля LAZY - лучшее время 50 ms !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 17:22 |
|
||
|
jpql как вернуть min max в одном запросе ?
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 17:27 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2123964]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 423ms |

| 0 / 0 |
