Hibernate - Как сохранить java.net.URL в базе данных через Hibernate - PullRequest
2 голосов
/ 13 марта 2010

У меня есть поле URL countryURL; в классе Country. Я хочу сохранить свои данные в таблицу COUNTRY в базе данных через Hibernate.

Какой Hibernate type я должен использовать в файле отображения Hibernate

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

Это не исключая string и text тип.

Ответы [ 5 ]

5 голосов
/ 13 марта 2010

Вы можете создать org.hibernate.UserType для URL, который отображается на столбец varchar. См. Типы пользовательских значений в справочной документации.

5 голосов
/ 13 марта 2010

Вы можете написать свой собственный тип пользователя, но может быть проще выполнить преобразование String <-> Url в методах получения и установки свойств:

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

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

и сопоставьте свойство rawUrl с типом string.

4 голосов
/ 15 февраля 2013

кажется, что в настоящее время существует определенный базовый тип значения, предоставленный самим Hibernate: org.hibernate.type.UrlType

0 голосов
/ 07 декабря 2010

Нет .. хранение в виде строки, выполняющей преобразование, само по себе неправильно в подходе OOAD. Как только это строка, пользователь всегда может дать любую строку, которая не может быть URL-адресом .. лучше использовать Custom T

0 голосов
/ 13 марта 2010

Я бы сохранил его как String. Не нужно усложнять свою жизнь, внедряя пользовательский тип. То есть измените URL на String в Country.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...