
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.04.2012, 15:29:34
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
Не сохраняются entity, хотя в тестах save и load "работают". авторHibernate: insert into fund_info (fundId, lang, name, value, type) values (?, ?, ?, ?, 'site') select @@identity 1 // получили id //загрузим то что сохранили Hibernate: select fundinfo0_.id as id0_, fundinfo0_.fundId as fundId0_, fundinfo0_.lang as lang0_, fundinfo0_.name as name0_, fundinfo0_.value as value0_, fundinfo0_.type as type0_ from fund_info fundinfo0_ where fundinfo0_.fundId=? // одно из сохраненных полей values: chief.investment.officer Можно сделать вывод, что все данные успешно сохраняются в кэше hibernate, а почему не персистится в БД? Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Тест Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2012, 15:52:03
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
ТимоН, В тестах @Transactional означает, что в конце теста пойдет rollback. Если хочешь чтобы база после тестов менялась убери аннотацию или поставь @NotTransactional ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2012, 15:55:51
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
ТимоН, Хотя видимо я что то не то ответил, вопрос был не про это. Т.е получается что у тебя вызов dao базу не меняет, а после вызова теста база меняется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2012, 15:59:24
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
vas0, Нет, дальше тестов дело пока никуда не ушло. База не меняется, только создается при старте. В другом проекте аналогичный конфиг работает как ожидается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2012, 16:08:47
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
ТимоН, Я уже запутался и не понимаю в чем вопрос... Хотя я его наверно сразу не понял. Но мне кажется подозрительными след строчки: Код: java 1. 2. Здесь возможно идет инжекция сразу реализации, а не через интерфейс. При этом возможно транзакционные атрибуты не работают (хотя это нужно проверять). Мое мнение лучше использовать @Autowired FundInfoDAO fundInfoDAO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2012, 16:56:06
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
vas0 Код: java 1. 2. Здесь возможно идет инжекция сразу реализации, а не через интерфейс. Да, все правильно. Эта DAO экстендит еще GenericHibernateDAO, так что использовать методы GenericHibernateDAO (makePersist, ...) можно только при кастинге к предку. В данном случае мне нужно проверить работают ли метод предка GenericHibernateDAO по этому ижектинг сразу реализации интерфейса. Но все это на мой взгляд не имеет отношения к проблеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2012, 16:59:45
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
ТимоННо все это на мой взгляд не имеет отношения к проблеме. Так а в чем проблема? Что после вызова теста состояние базы не меняется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2012, 17:15:10
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
vas0ТимоННо все это на мой взгляд не имеет отношения к проблеме. Так а в чем проблема? Что после вызова теста состояние базы не меняется? Проблема в том что данные после теста не попадают в БД, таблица пуста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2012, 17:24:39
|
|||
|---|---|---|---|
Hibernate + Spring не сохраняются entity |
|||
|
#18+
ТимоНПроблема в том что данные после теста не попадают в БД, таблица пуста. Это нормально. Транзакционные тесты в спринге оставляют БД в неизменном состоянии (после каждого теста идет rollback, а не commit). Если уберешь аннотацию @Transactional из тестов, то состояние БД будет меняться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2132028]: |
0ms |
get settings: |
16ms |
get forum list: |
25ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
45ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 364ms |
| total: | 559ms |

| 0 / 0 |
