2010-02-24 3 views
1

String [] 속성이있는 엔티티 클래스를 디자인하고 싶습니다. 이 문자열 배열은 항상 두 개의 값을 가지고 있으며, 절대로 Hibernate (또는 JPA)가이를 위해 여분의 테이블을 만들고 싶지는 않지만이 두 문자열 값을 테이블에 직접 포함 시키려고하지는 않습니다. 가능한가요? 그렇다면 어떻게 될까요?엔티티 (JPA)에 문자열 배열을 포함하는 방법

답변

4

항상 정확히 두 개의 값이있는 경우 getter/setter 및 인스턴스 변수로 재생할 수 있습니다. 실제로 인스턴스 변수 또는 속성을 @Column과 매핑할지 여부를 선택할 수 있습니다.

@Column 
String s1; 

@Column 
String s2; 

public String[] getProp() 
{ 
    return new String[]{ s1, s2 }; 
} 

public String setProp(String[] s) 
{ 
    s1 = s[0]; 
    s2 = s[1]; 
} 

그렇지 않으면 @Embedded 엔티티를 확인하십시오.

@Entity 
public class MyEntity { 

    @Embedded 
    public StringTuple tuple; 

} 

public class StringTuple { 
    public String s1; 
    public String s2; 
} 
의 정신에있는 것
1

이 배열에 항상 두 개의 요소가있는 경우 단순히 그 클래스를 유지하는 클래스를 만들고 그 클래스를 Component으로 매핑하지 않는 이유는 무엇입니까?

관련 문제