Подтвердить что ты не робот

Когда я использую запрос JPA getResultList(), результаты удалены или управляются?

Когда у меня есть запрос JPA, который я вызываю .getResultList(), он возвращает мне список объектов. Объекты в этом списке управляются или удаляются? То есть, я должен беспокоиться о слиянии или сохранении их позже, если я вношу им изменения, или эти изменения будут автоматически подняты?

4b9b3361

Ответ 1

Да, объекты, возвращенные из .getResultList(), управляются.

Когда вы вносили изменения в управляемые объекты, вы не беспокоитесь о слиянии, так как эти изменения будут автоматически отсортированы с помощью EntityManager.

Управляемые объекты будут отсоединены, если EntityManager, который используется для загрузки этого объекта, close(), clear() или отсоединить(). Отдельные объекты больше не обрабатываются, и вы должны сделать слияние, чтобы EntityManager забирали изменения.

Ответ 2

По моему опыту, возвращаемые значения getResultList() привязаны. То есть вам не нужно вручную их сохранять, если вы вносите изменения в одну транзакцию.

Ответ 3

Они будут управляться, если вы в настоящий момент находитесь в транзакции, но если вы этого не сделали (например, если вы аннотировали свою антрассировку с помощью TransactionAttributeType.NOT_SUPPORTED или TransactionAttributeType.NEVER), ваши объекты не будут управляться.