|
|
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. Соответственно, родительская сущность - Код: 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. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. Класс составного ключа для дочерней сущности - Код: 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. Дочерняя сущность - Код: 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. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. Структура таблиц - Код: plsql 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. Собственно, вопрос заключается в отыскании корректного способа добавления данных; так, чтобы потом можно было удалять каскадом. Был бы весьма признателен за информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 09:52:38 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
ivanov-void, кому нужны твои простыни кода - лишние поля, геттеры, лишний SQL-DML - даже запросы, как ты их получал dual. Воспитываем отвращение к ОРМ вопросом - как вставить данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 10:20:14 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
Приветствую, Petro123! Возможно, вы правы относительно избыточности некоторых данных.. Нет, такой цели я не преследую, а всего- лишь хочу овладеть best practice в работе с ORM. Пожалуй, даже и не хватает сведений- например, примеров не правильного добавления и удаления и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 10:57:56 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
ivanov-void, тогда ВСЁ убери и сделай демку с 2-мя полями (id,name) - маппинг\dml\main ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 11:02:57 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
Petro123, я лучше приведу пример, как добавляются данные в моем случае; наверное, он как раз будет антипримером, поскольку каскадное удаление при таком подходе не срабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 11:14:19 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
Так, собственно, с первой таблицей работа строится следующим образом - Добавление записи: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Удаление: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Загрузка данных при инициализации: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 12:19:31 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
Здесь все в порядке. Далее следует при выборе какой- либо строки в первой таблице добавлять произвольное число строк во вторую - дочернюю, так, чтобы при удалении строки из родительской все введенные ранее строки второй таблицы также удалялись. Чуть позже покажу, как это не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 12:23:35 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
ivanov-void, OFF нда. Упрощать пример-демку-проблему ты не умеешь. В прошлый раз у тебя именно из за этого была проблема - первый этап-маппинг с кучей лишних полей. ivanov-voidДалее следует при выборе какой- либо строки в первой таблице добавлять произвольное число строк во вторую - дочернюю, так, чтобы при удалении строки из родительской все введенные ранее строки второй таблицы также удалялись такая странная БЛ вполне может быть из-за неправильной Модели. Я не удивлюсь, если БД этой задаче сопротивляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 12:39:04 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
Petro123, возможно. Так, теперь я добавляю запись в дочернюю таблицу и обновляю соответствующую запись в родительской- Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Подгружаю дочерние записи по клику на строке в родительской - Код: java 1. 2. 3. 4. 5. 6. 7. 8. Пока все ок. Удаляю строку в родительской - Код: java 1. 2. 3. Строка в дочерней остается. Не ясно пока, как с этим бороться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 15:20:12 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
ivanov-voidКласс составного ключа для родительской сущности: это лишнее в Модели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 15:24:06 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
Почему же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 15:32:41 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
ivanov-voidПочему же? мне лень читать простыни. Приведи простой пример составного...., и обоснование его необходимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 15:54:02 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
Petro123, ну хочется мне вот с составным ключом чтобы было. : -) Так удобнее идентифицировать записи - в первой таблице по первым двум полям, во второй- по трем. Соответственно, класс составного ключа, например, для первой таблицы будет выглядеть так- Код: java 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 20:06:25 |
|
||
|
Hibernate и natural keys - как правильно добавить данные, чтобы потом удалить каскадом?
|
|||
|---|---|---|---|
|
#18+
ivanov-voidТак удобнее идентифицировать записи а вдруг ты ошибся? И ОРМ \ ораклу и т.д лучше идентифицировать по добавочному полю - суррогатный http://ru.wikipedia.org/wiki/%D0%A1%D1%83%D1%80%D1%80%D0%BE%D0%B3%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BB%D1%8E%D1%87 Я уже не говорю, что _желательно_ класс - это таблица в БД. Хотя есть фичи и варианты... Может посмотрю позже, счас пока не готов абстрактно рассуждать. Удачи! ЗЫ через суррогатный делают каскад из 3-х дочек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 20:58:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37706331&tid=2132316]: |
0ms |
get settings: |
15ms |
get forum list: |
29ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
65ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
105ms |
get tp. blocked users: |
3ms |
| others: | 328ms |
| total: | 585ms |

| 0 / 0 |
