Hibernate allows you to create types and override the fetching/saving metods of the types.
Create a type, e.g., InsertableOnly, which on the fetch sets throws away the database value.
Assuming your value is an Integer because you represent prices in cents to avoid rounding issues:
class InsertOnlyInteger extends org.hibernate.type.IntegerType {
public Object get(ResultSet rs, String name) throws SQLException {
return null;
}
}
Then make the Hibernate type of the attribute InsertOnlyInteger (with xml or annotation, as it suits you).
When Hibernate loads an object into a Session it creates a state snapshot of the current database state of the object, so that it can perform dirty checking against the snapshot.
As a read only object will never be modified, this snapshot is not needed and memory can be saved.