Hibernate позволяет создавать типы и переопределять методы извлечения / сохранения типов.
Создайте тип, например, InsertableOnly
, который в наборах выборок выбрасывает значение базы данных.
Предполагая, что ваше значение является целым числом, поскольку вы представляете цены в центах, чтобы избежать проблем с округлением:
class InsertOnlyInteger extends org.hibernate.type.IntegerType {
public Object get(ResultSet rs, String name) throws SQLException {
return null;
}
}
Затем создайте тип Hibernate для атрибута InsertOnlyInteger (с xml или аннотацией, как вам удобно).
Это очень похожий ответ на ответ, данный sewardrobert, но он
- позволяет вам иметь "нормальный" сеттер в классе, который
- соавторы / другие / кроме Hibernate (как ваша подпрограмма суммирования Java-кода) могут затем использовать нормально,
- это можно использовать повторно, а
- с приличным именем (например, InsertableOnly) более или менее самодокументируется.