Сопоставление @OneToOne с предложением @Where - PullRequest
3 голосов
/ 26 марта 2010

Я пытаюсь отобразить объект следующим образом

@OneToOne(mappedBy = "localizedLabel")
@JoinColumn(insertable = false, updatable = false)
@WhereJoinTable(clause = "locale='en_US'")
public Localization getEn_US() {
    return en_US;
}

Я могу заверить, что данные будут возвращать только один или ноль, если они не найдены, но hibernate, похоже, игнорирует мое предложение @Where:

ERROR com.eventtouch.bc.business.core.log.LoggingInterceptor - org.hibernate.HibernateException: More than one row with the given identifier was found: 4211, for class: com.eventtouch.bc.business.domain.LocalizedLabel

Есть ли у вас идеи, как сопоставить отношения @OneToOne с предложением @Where?

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 февраля 2018

Когда вы используете @JoinColumn в исходной таблице создается ссылочный столбец (так как это однозначное сопоставление), это позволяет избежать создания таблицы соединения.

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

Ваш @OneToOne, похоже, не использует таблицу соединений.

В таком случае, не следует ли использовать аннотацию @Where вместо @WhereJoinTable, которая фильтрует строки таблицы объединения?

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