2010-03-13 69 views
1

我在Country类中有一个字段URL countryURL;。我想通过Hibernate将其数据存储到数据库中的COUNTRY表中。休眠 - 如何通过Hibernate将java.net.URL存储到数据库中

其中休眠type我应该在Hibernate映射文件

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

使用它也不例外stringtext类型。

+0

可能的复制:http://stackoverflow.com/questions/2355260/jpa-property-java-net-url/2355298#2355298 – ewernli 2010-03-13 13:14:33

回答

5

您可以为映射到varchar列的URL创建一个org.hibernate.UserType。请参阅参考文档中的Custom value types

+0

你的链接已经死亡:(。 – ChiefTwoPencils 2016-01-17 01:25:46

5

你可以写你自己的用户类型,但它可能会更容易执行转换String < - 物业getter和setter>Url

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

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

和财产rawUrlstring类型映射。

0

我会将它存储为String。不需要通过实现自定义类型来让自己的生活更加艰难。即,在Country中将URL更改为String

+0

你的意思是说我应该把'Country'类中'countryURL'字段的数据类型从'URL'改成'String' – 2010-03-13 14:24:30

+0

或者你想说@meriton有我ntioned? – 2010-03-13 14:25:16

+0

是的,从'URL'更改为'String' – Bozho 2010-03-13 14:42:26

0

都能跟得上..存储为字符串做转换我们的自我是错的OOAD方法。一旦它是一个字符串用户可以随时给任何字符串,这可能不是URL ..更好地使用定制T

相关问题