내가 이런 User
실체가 있다고 가정 : 내가 원하지 않는hbm.xml에 매핑 된 속성을 일시적으로 사용할 수 있습니까?
class User {
private String login;
transient private String hashedPassword;
}
을에 지금까지 클라이언트에 hashedPassword
를 전송, 그래서 나는이 과도합니다.
이 클래스는 Hibernate에 의해 매핑되고, 두 필드는 모두 hbm.xml에 매핑됩니다.
이 구현은 안전하고 정확합니까? 최대 절전 모드로 정확히 hashedPassword
을 데이터베이스에 저장하고, 데이터베이스의 개체에로드하고, 복제 된 2 차 수준 캐시 및 로컬 세션 캐시 등에서 유지할 것입니까?
즉, 최대 절전 모드 또는 2 차 레벨 캐시 transient
을 존중합니까 아니면 완전히 무시합니까?
EDIT : 이미 방정식의 특정 측면을 포함하지 않는 두 가지 대답이 있습니다. 주석을 전혀 사용하지 않고 있으며 XML 매핑 만 hbm.xml
에 있습니다. 이 Java-transient 필드는 hbm.xml
에 OR 매핑됩니다.
감사합니다. 그러나 필드가 hbm.xml에 매핑되었다고 특별히 언급했습니다. 나는 주석을 모두 고소하지 않을 것이다. –
Hibernate는이 경우에 실제로 속성을 매핑합니까? 어노테이션과 hbm.xml이 동일하게 동작한다는 가정하에 있었지만 어쩌면 그렇지 않을 수도 있습니다. 'transient'가 속성이 직렬화되지 않도록 보장 할 것이기 때문에 당신의 질문은 완전히 Hibernate의 행동에 관한 것입니까? – wrschneider