|
|
|
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?fid=59&msg=39259153&tid=2123964]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
96ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 468ms |

| 0 / 0 |
