【问题标题】:Hibernate - How to store java.net.URL into a database through HibernateHibernate - 如何通过 Hibernate 将 java.net.URL 存储到数据库中
【发布时间】:2011-01-27 03:49:42
【问题描述】:

我在 Country 类中有一个字段 URL countryURL;。我想通过 Hibernate 将其数据存储到数据库中的COUNTRY 表中。

我应该在休眠映射文件中使用哪个休眠type

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

stringtext 类型除外。

【问题讨论】:

标签: java hibernate


【解决方案1】:

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

【讨论】:

  • 您的链接已失效 :( .
【解决方案2】:

您可以编写自己的用户类型,但在属性 getter 和 setter 中执行转换 StringUrl 可能更容易:

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

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

并将属性rawUrl 映射为string

【讨论】:

    【解决方案3】:

    现在似乎有一段时间是由 Hibernate 自己提供的专用基本值类型:org.hibernate.type.UrlType

    【讨论】:

      【解决方案4】:

      我会将其存储为String。无需通过实现自定义类型来让您的生活更加艰难。即把URL改成StringinCountry

      【讨论】:

      • 你的意思是我应该把Country类中countryURL字段的数据类型从URL改成String
      • 或者你想说@meriton 提到了什么?
      【解决方案5】:

      不..存储为字符串进行转换我们的自我通过OOAD方法是错误的..一旦它是一个字符串,用户总是可以提供任何字符串,这可能不是URL..更好地使用自定义T

      【讨论】:

        猜你喜欢
        • 2012-05-27
        • 2014-06-23
        • 2014-09-19
        • 1970-01-01
        • 2017-12-25
        • 1970-01-01
        • 1970-01-01
        • 2010-09-28
        • 2011-02-04
        相关资源
        最近更新 更多