【发布时间】:2011-01-27 03:49:42
【问题描述】:
我在 Country 类中有一个字段 URL countryURL;。我想通过 Hibernate 将其数据存储到数据库中的COUNTRY 表中。
我应该在休眠映射文件中使用哪个休眠type
<property column="COUNTRY_URL" name="countryURL" type="..."/>
string 和 text 类型除外。
【问题讨论】:
我在 Country 类中有一个字段 URL countryURL;。我想通过 Hibernate 将其数据存储到数据库中的COUNTRY 表中。
我应该在休眠映射文件中使用哪个休眠type
<property column="COUNTRY_URL" name="countryURL" type="..."/>
string 和 text 类型除外。
【问题讨论】:
您可以为映射到 varchar 列的 URL 创建一个 org.hibernate.UserType。请参阅参考文档中的Custom value types。
【讨论】:
您可以编写自己的用户类型,但在属性 getter 和 setter 中执行转换 StringUrl 可能更容易:
private void setRawUrl(String s) {
this.url = new Url(s);
}
private String getRawUrl() {
return url.toString();
}
并将属性rawUrl 映射为string。
【讨论】:
现在似乎有一段时间是由 Hibernate 自己提供的专用基本值类型:org.hibernate.type.UrlType
【讨论】:
我会将其存储为String。无需通过实现自定义类型来让您的生活更加艰难。即把URL改成StringinCountry。
【讨论】:
Country类中countryURL字段的数据类型从URL改成String
不..存储为字符串进行转换我们的自我通过OOAD方法是错误的..一旦它是一个字符串,用户总是可以提供任何字符串,这可能不是URL..更好地使用自定义T
【讨论】: