|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Есть JavaFX Desktop приложение. Возникла необходимость прикрутить бд. Вот что сделал я: Настройка самого Хибера: Код: 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.
Базовый репозиторий для работы с сущностями. От этого репозитория наследуются репозитрии конкретных сущностей. Код: 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. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191.
Мне не нравится вот такое: Код: 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. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Хибер не дает сохранить StrategyEntity , пока все OneToMany сущности не будут записаны в бд. Как избежать такого говнокода? может у кого есть варианты как изобразить это получше P.S. Спринг тут не использую да и он не особо нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 00:29 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop, Лямбды?! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 08:16 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop Мне не нравится вот такое: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Мне это нужно писать в каждом методе. Убрать в утилитный класс статический. Писал хоть один? И открывать сессию в конструкторе окна. С окном и закрывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 08:21 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
mad_nazgul Tsyklop, Лямбды?! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 08:22 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop, - в десктопе транзакции длинные. По 8 часов или на каждое окно - наследование убери. Нет его - биндинг ВЕЗДЕ - если для биндинга нужен плоский список, то можно и без хибера его взять. Это не веб. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 08:25 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
не проще прикрутить спринг и сделать норм настройки в апликейшн проперти и использовать jpa repo чем городить вот это я же так понимаю ты на кворке сидишь и делаешь различные приложухи-так кто там будет смотреть что у тебя под капотом- делай как быстрей ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 09:03 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
apb12, В десктопе на спринг у виска покрутят ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 09:07 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Убрать в утилитный класс статический. Писал хоть один? И открывать сессию в конструкторе окна. С окном и закрывать. Утильные классы писал, но не понимаю как это применить тут? Типа статический метод, в котором что? идею Вашу не уловил ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:02 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
PetroNotC Sharp И открывать сессию в конструкторе окна. С окном и закрывать. Годная идея. Но есть места где обращение к БД идет без окна. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:03 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
apb12 не проще прикрутить спринг и сделать норм настройки в апликейшн проперти и использовать jpa repo чем городить вот это я же так понимаю ты на кворке сидишь и делаешь различные приложухи-так кто там будет смотреть что у тебя под капотом- делай как быстрей Спринг не юзается с десктопами. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:04 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
PetroNotC Sharp - в десктопе транзакции длинные. По 8 часов или на каждое окно Тут да. PetroNotC Sharp - наследование убери. Нет его Какие наследование? PetroNotC Sharp - биндинг ВЕЗДЕ - если для биндинга нужен плоский список, то можно и без хибера его взять. Это не веб. Биндинг чего и с чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:05 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop apb12 не проще прикрутить спринг и сделать норм настройки в апликейшн проперти и использовать jpa repo чем городить вот это я же так понимаю ты на кворке сидишь и делаешь различные приложухи-так кто там будет смотреть что у тебя под капотом- делай как быстрей Спринг не юзается с десктопами. а зачем тебе база в десктопе-храни на в файле тогда ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:11 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
В начале 2000х мы разрабатывали классическое десктоп приложение под Sybace Power Builder. И никакого ORM мы не знали и не использовали. И вы не поверите. Это было - прекрасное приложение. Oracle-cursors полностью заменяли коллекции. Просто надо было научится с этим работать. И 128 Мегабайт памяти хватало для десктопного приложения с гридами. Формочками и прочим. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:20 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop PetroNotC Sharp Убрать в утилитный класс статический. Писал хоть один? И открывать сессию в конструкторе окна. С окном и закрывать. Утильные классы писал, но не понимаю как это применить тут? Типа статический метод, в котором что? идею Вашу не уловил Будет меньше строк. Например одна - Утилита.старТранзакции. Тебе это надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:20 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop PetroNotC Sharp И открывать сессию в конструкторе окна. С окном и закрывать. Годная идея. Но есть места где обращение к БД идет без окна. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:20 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop Биндинг чего и с чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:21 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Годная идея. Но есть места где обращение к БД идет без окна. После кнопочке старт, которая нахожится в окне, создается новый поток и там происходят действия и там нужна БД,но окна там нет по факту. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:23 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop Как избежать такого говнокода? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:26 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Будет меньше строк. Например одна - Утилита.старТранзакции. Тебе это надо? Я вообще хочу что бы старт транзакции, коммит, если все ок, или же роллбэк были в одном месте. В общем как в вебе. Только в вебе прокси, а у меня такой штуки нет. А сейчас мне приходится это писать в каждом методе. + мне нужно делать несколько операций с БД в одной транзакции а не только одну и если в одной будет ошибка - что бы откатились все изменения. Моя модель такого не позволит. Вот и спрашиваю как это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:26 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop После кнопочке старт, которая нахожится в окне, создается новый поток и там происходят действия и там нужна БД,но окна там нет по факту. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:27 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
PetroNotC Sharp поток зачем? Подробнее. Автоматизированый робот. Пишет в бд всю инфу которую нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:27 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
PetroNotC Sharp вопрос по архитектуре. Тогда покажи Модель бд. 6 сущностей = 6 таблиц. БД описана как сущности в Java коде. Прям модельки у меня нет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:29 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop Я вообще хочу что бы старт транзакции, коммит, если все ок, или же роллбэк были в одном месте. Где в веб такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:30 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
Tsyklop Прям модельки у меня нет Что за сущность StrategyEntity? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:31 |
|
Hibernate 5 и Desktop приложение
|
|||
---|---|---|---|
#18+
mayton В начале 2000х мы разрабатывали классическое десктоп приложение под Sybace Power Builder. И никакого ORM мы не знали и не использовали. И вы не поверите. Это было - прекрасное приложение. Oracle-cursors полностью заменяли коллекции. Просто надо было научится с этим работать. И 128 Мегабайт памяти хватало для десктопного приложения с гридами. Формочками и прочим. Неправда, специализированные фреймворки тогда тоже были и Sybace Power Builder с ему подобными, как раз представляли собой фреймворки для быстрого создания приложений работающих с БД, современные фреймворки это скорее полуфабрикат, но все хавают, вот в соседней теме про редактируемый грид с выпадающим списком для поля сказали что это оверхэд, в старых фреймворках такое мастером делалось за минуту, а теперь работу которая делается за час джун не может сделать за неделю)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2019, 13:31 |
|
|
start [/forum/topic.php?fid=59&msg=39904707&tid=2120978]: |
0ms |
get settings: |
15ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
42ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
455ms |
get tp. blocked users: |
1ms |
others: | 8ms |
total: | 533ms |
0 / 0 |