|
|
|
Странное поведение Hibernate
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста в чем может быть проблема. Делаю запрос из DAO Код: java 1. Используя JPA на базе Hibernate. В результате Hibernate делает такие манипуляции Код: java 1. а потом зачем-то начинает делать insert в таблицу, которая связывает этот объект с объектом Role как ManyToMany Код: java 1. 2. 3. 4. 5. То есть пытается несколько раз вставить записи в эту таблицу и на второй раз падает, потому что они уже там есть. Причем если тест запустить из IDE, то проходит. А если из мавена, то падает. Зачем hibernate делает эти инсерты при селекте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2013, 22:36:12 |
|
||
|
Странное поведение Hibernate
|
|||
|---|---|---|---|
|
#18+
Если этот тест запустить из другого теста 2 раза, то та же ситуация. Получается, что данные из БД не очищаются между тестами. Как их удалять перед каждым новым тестом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2013, 23:31:39 |
|
||
|
Странное поведение Hibernate
|
|||
|---|---|---|---|
|
#18+
Ну разумеется, они не очищаются - кто же их очистит то? Варианты такие: 1) Делаете ваши тесты внутри транзакции, которую по окончании теста откатываете. Подойдет не для всех сценариев. 2) Чистите базу данных руками в after-методе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 10:59:11 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2128621]: |
0ms |
get settings: |
18ms |
get forum list: |
28ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
68ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
90ms |
get tp. blocked users: |
3ms |
| others: | 323ms |
| total: | 575ms |

| 0 / 0 |
