Просто возьми и придерживайся одного. Стандарты являются лишь конечными рекомендациями, и каждый исполнитель может внедрять или не внедрять стандарты соответствующим образом.
, например,
EclipseLink имеет проблемы с использованием чего-то базового, такого как JPA @Converter
, хотя предположительно недавно исправлено через IBM http://www-01.ibm.com/support/docview.wss?uid = swg1PI73277
Реализация JPQL в Hibernate не понимает логических значений, которые более конкретно стоят сами по себе. Мне пришлось изменить свой JPQL, чтобы сказать
from Participant p where not p.cancelled
-
from Participant p where p.cancelled = false
Другое дело, что вы строите вещи весной, и вы, вероятно, будете делать неправильные, но общие подход изменения загрузчика классов в порядке PARENT_LAST
, чтобы ваши классы использовались вместо серверов приложений.
Если вы планируете действовать надлежащим образом и использовать JPA, поставляемый с сервером приложений, просто будьте осторожны, так как ваша реализация Application Server может содержать ошибки.
Транзакции мудро для вашего приложения, в частности Spring должен обрабатывать вещи для вас.
Курсор эффективно запускает SELECT и затем позволяет выполнить итерацию по набору результатов, который хранится в моментальном снимке состояния БД. Поскольку ваш набор результатов уже был получен, оператор UPDATE не повлияет на него. (В противном случае вам потребуется повторно запускать запрос каждый раз, когда вы продвигаете курсор!)
См .: