2014-10-09 3 views
0

transient 변수에 column 태그를 주면 hibernate는 어떻게됩니까?transient 변수에 대해 column 태그를 주면 hibernate에서 어떤 일이 발생합니까?

@Table(name="team") 
public class Team extends BaseObject implements Serializable { 

@Id @GeneratedValue(strategy=GenerationType.AUTO) 
private Long id; 

@Column(length=50) 
private String name; 

@Column(length=10) 
private String code; 

@Column(name = "agency_id") 
private Long agencyId; 

@Column(name = "agency_name") 
private transient String agencyName; 



} 
+0

다음은 토론입니다. http://stackoverflow.com/questions/4662582/how-to-make-hibernate-ignore-class-variables-that-are-not-mapped. –

+0

당신은'transient' (키워드)를'private transient String agencyName; '이 의미하는 것으로 말하고 있습니까? 그렇다면 필드는 직렬화되지 않습니다. 그러나 주석 인'@ Transient' ('javax.persistence.Transient')에 대해서 말하면, 필드는 데이터베이스에 저장되지 않을 것이고 (값도 검색 될 것입니다 - 언급 할 필요는 없습니다). – Tiny

답변

1

필드가 지속되지 않습니다. 데이터베이스에서 필드 값을 가져 오지 않고 변경 사항을 커밋하지 않습니다. 엔티티 필드 기반 액세스가 있으면

JSR 220 Specification

는 지속성 제공 런타임 직접 인스턴스 변수에 액세스한다. Transient 주석으로 주석 처리되지 않은 모든 비 일시적인 인스턴스 변수는 지속됩니다.