|
|
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
Добрый день. У меня имеется : некоторый класс контроллера ControllerClass некоторый класс сервиса Service1Class некоторый класс сервиса Service2Class сервисные классы помечены аннотацией @Transactional В контроллере есть такой метод: Код: java 1. 2. 3. 4. 5. 6. нижеприведенный код аналогичен такому если бы аннотаций @Transactional не было? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 16:44:42 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
Да, принципиально вы все верно поняли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 16:51:40 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
redwhite90Добрый день. У меня имеется : некоторый класс контроллера ControllerClass некоторый класс сервиса Service1Class некоторый класс сервиса Service2Class сервисные классы помечены аннотацией @Transactional В контроллере есть такой метод: Код: java 1. 2. 3. 4. 5. 6. нижеприведенный код аналогичен такому если бы аннотаций @Transactional не было? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. да, допустим при исключении fooMethod2, данные fooMethod1 будут в базе. Но, это с настройками по дефолту, если указать: Код: java 1. то будет rollback и для fooMethod1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 16:55:54 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
а будут ли когда нибудь за жизненый цикл приложения мои объекты в detached состоянии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 23:39:17 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
redwhite90а будут ли когда нибудь за жизненый цикл приложения мои объекты в detached состоянии? http://www.roseindia.net/hibernate/HibernateLifeCycle.shtml Detached State : In this state, the persistent object is still exist after closure of the active session. You can say detached object remains after completion of transaction .It is still represents to the valid row in the database. In detached state, changes done by detached objects are not saved to the database. you can not detach your persistent object explicitly. evict() method is used to detach the object from session cache. clear() ,close() methods of session can be used to detach the persistent object. For returning in to the persistent state, you can reattach detached object by calling methods - update() merge() saveOrUpdate() lock() - It is reattached but not saved. Example: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 10:03:50 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
Озверин, ОзверинYou can say detached object remains after completion of transaction можете перевести эту строку? я не совсем понял, что имеется ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2013, 23:50:16 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
redwhite90Озверин, ОзверинYou can say detached object remains after completion of transaction можете перевести эту строку? я не совсем понял, что имеется ввиду. я просто это понял так, что можно попросить хибернейт переводить объект в detached состояние после завершения транзакции. правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2013, 16:34:37 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
redwhite90, я просто это понял так, что можно попросить хибернейт переводить объект в detached состояние после завершения транзакции. правильно? Просить не надо, если в транзакции вы его сохранили/обновили, то после завершения транзакции у вас будет объект в состоянии detached. Если удалили в транзакции - то будет в состоянии removed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2013, 17:14:23 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
javapeckerredwhite90, я просто это понял так, что можно попросить хибернейт переводить объект в detached состояние после завершения транзакции. правильно? Просить не надо, если в транзакции вы его сохранили/обновили, то после завершения транзакции у вас будет объект в состоянии detached. Если удалили в транзакции - то будет в состоянии removed. А если не вызывал update, то с момента завершения транзакции до момента закрытия сессии объект будет в персистентном состоянии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2013, 17:26:59 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
javapecker, а везде вроде как пишут, что состояние detached после завершения session.close(). почему тут не по общему правилу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2013, 11:35:45 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
redwhite90javapecker, а везде вроде как пишут, что состояние detached после завершения session.close(). почему тут не по общему правилу?Всего у объекта может быть 3 состояния: transient, persistent, detached. Состояния "deleted" не бывает. Когда мы удаляем конкретный объект, то мы исходим их того, что в базе данных больше нет соответствующей записи, а следовательно, такой объект уже не может быть detached, так как detached по сути означает "есть в базе, но не подключен к сессии". http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/objectstate.html#objectstate-deleting ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2013, 11:46:17 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
Созрел ещё вопросик: Есть ли разница между 1. помечать весь класс аннотацией @Transactional; 2. помечать все методы этой аннотацией; ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2013, 12:27:53 |
|
||
|
Понимание @Transactional
|
|||
|---|---|---|---|
|
#18+
redwhite90Есть ли разница между 1. помечать весь класс аннотацией @Transactional; 2. помечать все методы этой аннотацией; ? Наверное лучше пометить класс, если в этом есть смысл. А потом просто переопределять в отдельных методах, если есть такая надобность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2013, 12:45:52 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=209&tid=2128547]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
295ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 268ms |
| total: | 686ms |

| 0 / 0 |
