У меня есть вопрос об операции удаления на отсоединенных объектах.
Согласно спецификации "Если X является отсоединенным объектом, операция удаления выдает исключение IllegalArgumentException (или фиксация транзакции завершится неудачно). "
Но операция удаления может быть действительной для отсоединенного объекта.Рассмотрим следующий сценарий для контекста персистентности в области транзакции:
1) Объект сохраняется в базе данных в транзакции T1.Так что становится отстраненным.2) Для этого отсоединенного объекта в транзакции T2 сделан вызов на удаление.
Поскольку объект существует в базе данных, вызов на удаление должен быть действительным, и объект должен быть удален из базы данных в результате транзакции T2,Но согласно спецификации, исключение должно быть выдано при удалении, или фиксация транзакции должна завершиться неудачей.
Я что-то здесь упустил?в чем причина?