Как избежать сохранения некоторых методов в Hibernate - PullRequest
1 голос
/ 17 декабря 2010

Как указано в документации :

Hibernate сохраняет свойства стиля JavaBeans и распознает имена методов в форме getFoo, isFoo и setFoo.

Использование следующего метода

public boolean isFinished() {
    return (this.dateFinished == null) ? false : true;
}

приведет к:

java.lang.ExceptionInInitializerError
    at (...)
Caused by: org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
(...)
Caused by: org.hibernate.PropertyNotFoundException: Could not find a setter for property finished in class Order

Очевидно, что если имя вышеупомянутой функции не начинается с is, то все в порядке.Итак, возможно ли избежать сохранения некоторых методов в отображаемом классе, используя, например, аннотации?

Пожалуйста, совет.

1 Ответ

1 голос
/ 17 декабря 2010

Пометьте поле аннотацией @Transient, как указано в документах . Например.,

@Transient
public boolean isFinished() {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...