假設我有一個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