|
|
|
Не работает @Transactional
|
|||
|---|---|---|---|
|
#18+
Привет всем! Есть следующая проблема - похоже не работает аннотация @Transactional в связке Spring + Hibernate. Бин для внесения в базу дефолтного админа Код: 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. org.springframework.transaction.IllegalTransactionStateException: No existing transaction found for transaction marked with propagation 'mandatory' .............. ну и стектрейс соответствующийЕсли правильно понимаю, это означает, что для метода postCostruct() аннотация не сработала. Что-то я не пойму в чем дело. Помогите, плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 17:50:38 |
|
||
|
Не работает @Transactional
|
|||
|---|---|---|---|
|
#18+
Transactional не работает в postConstruct, потому что postConstruct вызывается на бине, во время его создания. А Transactional работает через прокси, которые оборачивают бин. /topic/951099 https://jira.springsource.org/browse/SPR-6002 http://forum.springsource.org/showthread.php?58337-No-transaction-in-transactional-service-called-from-PostConstruct ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 17:53:43 |
|
||
|
Не работает @Transactional
|
|||
|---|---|---|---|
|
#18+
BlazkowiczTransactional не работает в postConstruct, потому что postConstruct вызывается на бине, во время его создания. А Transactional работает через прокси, которые оборачивают бин. /topic/951099 https://jira.springsource.org/browse/SPR-6002 http://forum.springsource.org/showthread.php?58337-No-transaction-in-transactional-service-called-from-PostConstruct Спасибо за ссылки. Почитал, но все равно проблема пока не решена. Если я правильно понял, то выбор у меня такой: 1. Использовать AspectJ, т.е. Код: plaintext 1. Первый рецепт я пока не хочу использовать. 2. Почему-то не работает. При собственной реализации листенера та же самая ошибка, что транзанкция не запущена, а при использовании аннотации @PostInitialize метод createDefaultAdmin() вообще не находится. переработанный TestDataBuilder Код: java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 18:59:28 |
|
||
|
Не работает @Transactional
|
|||
|---|---|---|---|
|
#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. рабочий код Код: 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. PS В прошлом сообщении забыл указать ссылку откуда взял @PostInitialize - отсюда . Но у меня эта штука не работает вообще, не находит нужную аннотацию на методе судя по отладке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 19:17:11 |
|
||
|
Не работает @Transactional
|
|||
|---|---|---|---|
|
#18+
В spring есть TransactionTemplate, использовав который можно добиться нужного эффекта. ( мануал ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 20:07:47 |
|
||
|
Не работает @Transactional
|
|||
|---|---|---|---|
|
#18+
schwaВ spring есть TransactionTemplate, использовав который можно добиться нужного эффекта. ( мануал )Спасибо, буду изучать. Это все равно надо было штудировать, тем более что уже назрела проблема с коллекциями с lazy="extra" - hibernate не находит сессию. Так что надо еще браться и за управление сессиями хибернейта. Как принято на этом форуме: можно здесь продолжить или лучше новую тему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 20:17:44 |
|
||
|
Не работает @Transactional
|
|||
|---|---|---|---|
|
#18+
Для полноты выкладываю вариант решения с TransactionTemplate: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 20:31:03 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2131242]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
56ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 293ms |
| total: | 459ms |

| 0 / 0 |
