我在URL countryURL;
课程中有一个字段Country
。我想通过Hibernate将其数据存储到数据库中的COUNTRY
表中。
我应该在hibernate映射文件中使用哪个Hibernate type
<property column="COUNTRY_URL" name="countryURL" type="..."/>
string
和text
类型除外。
答案 0 :(得分:5)
您可以编写自己的用户类型,但在属性获取器和设置器中执行转换String
&lt; - &gt; Url
可能更容易:
private void setRawUrl(String s) {
this.url = new Url(s);
}
private String getRawUrl() {
return url.toString();
}
并使用rawUrl
类型映射属性string
。
答案 1 :(得分:5)
您可以为映射到varchar列的URL创建org.hibernate.UserType
。请参阅参考文档中的Custom value types。
答案 2 :(得分:4)
似乎现在有一些时候由Hibernate自己提供的专用基本值类型:org.hibernate.type.UrlType
答案 3 :(得分:0)
我将其存储为String
。无需通过实现自定义类型来改变您的生活。也就是说,在URL
中将String
更改为Country
。
答案 4 :(得分:0)
没有..存储为字符串做转换我们的自我是错误的OOAD方法..一旦它是一个字符串用户总是可以给任何字符串,这可能不是URL ..更好地使用自定义T