2010-08-31 2 views
0

У меня есть класс сущности, а другой класс - это класс Identity этого объекта. Я написал @ javax.persistence.PostLoad аннотацию в классе Id, чтобы поместить значение по умолчанию в один из столбцов.Метод PostLoad не вызывается в классе Id

Но я узнал, что его вообще не называют. Разве это, что классы ID не должны иметь эту аннотацию?

+0

не могли бы вы поместить свой код здесь – mhshams

ответ

3

вы можете аннотировать метод в вас Entity класс по @PostLoad установить значение по умолчанию для ...

если вы аннотировать вас ID класса, то вам необходимо ввести его в качестве обратного вызова Listener в классе Entity :

@EntityListeners({ID.class}) 
class MyEntity 

и я не думаю, что его хорошая идея, потому что экземпляр прослушивателя не связан с экземпляром ID в классе сущностей. они представляют собой 2 разных объекта класса ID.

@PostLoad

Используется для определения методов обратного вызова для соответствующего события жизненного цикла. Эта аннотация может применяться к методам класса сущности, сопоставленному классу или слушателю обратного вызова .

+0

Спасибо mohammad. Моя ошибка, я собираюсь опубликовать то же самое. Это было решено путем перемещения класса @PostLoad в класс Entity вместо класса идентификации. – Reddy

Смежные вопросы