Можно ли сохранить объект Java DSL с помощью JPA?
Вопрос
У меня есть объект Java DSL, т. е. POJO, который возвращает код this
в установщиках, плюс методы получения / установки имеют необычный шаблон именования:
Можно ли указать JPA использовать «name (String)» и «name ()» в качестве метода установки / получения?
[РЕДАКТИРОВАТЬ] Моя проблема - это поле created
выше.Для этого поля я хочу, чтобы JPA использовала код генерирующего кода "получателя", чтобы поле всегда было отличным от NULL.
Или есть способ указать JPA использовать created()
при создании нового объекта с помощью CURRENT TIMESTAMP
?
Решение
Согласно спецификации JPA (см. JSR-220 )В главе 2.1.1 вы можете указать JPA использовать доступ к полю вместо доступа к свойствам, аннотируя поля для отображения информации, а не методы получения.
Я не думаю, что вы можете указать JPA, какое соглашение об именах использовать для геттеров и сеттеров, поскольку это базовая концепция Java beans.
Другие советы
Не могли бы вы просто инициализировать created
при определении в классе, а затем использовать доступ к полю.