Как установить связь двух полей в БД с помощью Hibernate - PullRequest
0 голосов
/ 23 февраля 2011

Предположим, что таблица имеет два поля:

url(varchar), type(smallint).

Когда содержимое url является типом страницы, type должно быть 1 , то должно быть 0 .То есть,

когда URL-адрес подобен этому:

/xxx.html
/xx/xx.action
/xxx.jsp
/xxx.htm
.....

Тип должен быть 1 .

КогдаURL-адрес, как это:

/xx.js
/xx.css
/xx.ico
/xx.jpg
/xx.png
....

тип должно быть 0 .Это означает, что этот URL-адрес не является веб-страницей.

И я использую hibernate, мне интересно, как отобразить эту связь в mapping.xml?

1 Ответ

2 голосов
/ 23 февраля 2011

Hibernate не сделает этого за вас. Это бизнес-логика и должна быть закодирована в классе обслуживания или в самой сущности:

public void setUrl(String url) {
    this.url = url;
    if (url.endsWith(".html")) {
        this.type = 1;
    }
    else if (url.endsWith(".gif")) {
        this.type = 0;
    }
    // ...
}
...