假设我有一个User
实体是这样的:可以在hbm.xml中映射的属性是暂态的吗?
class User {
private String login;
transient private String hashedPassword;
}
我不想永远传递hashedPassword
给客户,所以我让短暂的。
该类由Hibernate映射,两个字段映射在hbm.xml中。
此实现是否安全正确? Hibernate会将hashedPassword
正确地存储在数据库中,将它从数据库中加载到对象中,并将它保存在复制的二级缓存和本地会话缓存等中?
换句话说,Hibernate或二级缓存是否以任何方式尊重transient
或完全忽略它?
编辑:我已经有两个答案,似乎并没有包括方程的一个特定方面。我根本没有使用注释,只有hbm.xml
中的XML映射。并且此Java瞬态字段在hbm.xml
中进行了或映射。
谢谢,但我特别提到该字段映射在hbm.xml中。我根本没有起诉注释。 – 2011-12-28 18:29:08
在这种情况下,Hibernate是否实际映射属性?我假设annotations和hbm.xml表现相同,但可能情况并非如此。由于'transient'会确保属性没有被序列化,你的问题完全是关于Hibernate的行为吗? – wrschneider 2011-12-28 18:37:04