Suppose I have a User
entity like this:
class User {
private String login;
transient private String hashedPassword;
}
I don't want to ever transfer hashedPassword
to clients, so I make it transient.
This class is mapped by Hibernate, with both fields mapped in hbm.xml.
Is this implementation safe and correct? Will Hibernate correctly store hashedPassword
in database, load it into objects from database, keep it in replicated 2nd level cache and local session cache etc?
In order words, does Hibernate or 2nd level cache respect transient
in any way or completely ignore it?
EDIT: I already got two answers that didn't seem to include one specific aspect of the equation. I am not using annotations at all, only XML mappings in hbm.xml
. And this Java-transient field is OR-mapped in hbm.xml
.