|
|
|
Странное поведение 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&gotonew=1&tid=2128621]: |
0ms |
get settings: |
15ms |
get forum list: |
18ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
47ms |
get topic data: |
15ms |
get first new msg: |
9ms |
get forum data: |
4ms |
get page messages: |
80ms |
get tp. blocked users: |
3ms |
| others: | 276ms |
| total: | 479ms |

| 0 / 0 |
