|
|
|
Hibernate, update many-to-many
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть две сущности, пользователи и диски: Disk: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. Пользователи: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. class User: Код: 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. Пытаюсь создать юзера и после его создания добавить ему диски. Добавление дисков выделено жирным. Вызов: авторtry { User user = new User("root", "root"); Disk disk1 = new Disk("ABC"); Disk disk2 = new Disk("CBA"); System.out.println("add user: "); UserAccess.addUser(user); System.out.println("add disk: "); DiskAccess.addDisk(disk1); DiskAccess.addDisk(disk2); System.out.println("add ref: "); TakenItemAccess.takeDisk(user, disk1); TakenItemAccess.takeDisk(user, disk2); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } Смотри логи: Hibernate logadd user: Hibernate: select max(ID) from DATA_USER new user id = 1 Hibernate: insert into DATA_USER (NICKNAME, PASSWORD, ID) values (?, ?, ?) add disk: Hibernate: select max(ID) from DATA_DISK Hibernate: insert into DATA_DISK (NAME, ID) values (?, ?) Hibernate: insert into DATA_DISK (NAME, ID) values (?, ?) add ref: Hibernate: update DATA_USER set NICKNAME=?, PASSWORD=? where ID=? Hibernate: update DATA_DISK set NAME=? where ID=? Hibernate: insert into REF_USER_DISK (USER_ID, DISK_ID) values (?, ?) Hibernate: update DATA_USER set NICKNAME=?, PASSWORD=? where ID=? Hibernate: update DATA_DISK set NAME=? where ID=? Hibernate: update DATA_DISK set NAME=? where ID=? Hibernate: insert into REF_USER_DISK (USER_ID, DISK_ID) values (?, ?) Получается, чтобы добавить одну запись в связку пользователь-диск, Hibernate вначале делает кучу левых действий. Можно ли как-то его сказать, чтобы он инсертил только в одну табличку(REF_USER_DISK), а другие не трогал? А то чую не через то место делаю. Спасибо! class TakenItemAccess: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2012, 10:10:06 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=270&tid=2130990]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
39ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 279ms |
| total: | 410ms |

| 0 / 0 |
