2010-03-13 7 views
1

Country 클래스에 URL countryURL; 필드가 있습니다. 나는 그 데이터를 Hibernate를 통해 데이터베이스의 COUNTRY 테이블에 저장하려고한다. 내가 최대 절전 모드 매핑 파일최대 절전 모드 - 최대 절전 모드로 데이터베이스에 java.net.URL을 저장하는 방법

<property column="COUNTRY_URL" name="countryURL" type="..."/> 

에 사용해야 최대 절전 모드 type

그것은 stringtext 유형을 제외되지 않습니다.

+0

가능한 dup : http://stackoverflow.com/questions/2355260/jpa-property-java-net-url/2355298#2355298 – ewernli

답변

5

varchar 열에 매핑되는 URL에 대해 org.hibernate.UserType을 만들 수 있습니다. 참조 설명서에서 Custom value types을 참조하십시오.

+0

당신의 링크가 죽었습니다. (. – ChiefTwoPencils

5

당신은 당신의 자신의 사용자 유형을 쓸 수 있지만 변환 String < 수행하는 것이 더 쉬울 수 있습니다 - 속성 getter 및 setter에>Url을 :

private void setRawUrl(String s) { 
    this.url = new Url(s); 
} 

private String getRawUrl() { 
    return url.toString(); 
} 

를 입력 string과 재산 rawUrl 매핑합니다.

0

나는 이것을 String으로 저장할 것입니다. 사용자 정의 유형을 구현하여 인생을 더 어렵게 만들 필요가 없습니다. 즉 URL ~ StringCountry으로 변경하십시오. 문자열은 문자열 사용자가 항상 URL되지 않을 수있는 문자열을 줄 수있는되면 우리의 자기 OOAD 접근 ..로 잘못 변환을 수행으로 저장

+0

'Country' 클래스의'countryURL' 필드의 데이터 타입을'URL'에서'String'으로 바꿔야한다는 것을 의미합니다. –

+0

또는 @meriton이 무엇을 가지고 있었는지 말하고 싶습니다. 네티션? –

+0

예,'URL'에서'String'으로 변경하십시오. – Bozho

0

아니 .. ..

4

에게 그것을 사용자 정의 T를 사용하는 것이 좋습니다 Hibernate 자신이 제공하는 전용 기본 값 타입이 존재하는 것으로 보인다 : org.hibernate.type.UrlType