Проигнорируйте В спящем режиме @Where аннотация

У меня есть Объект, который имеет ассоциацию к другому Объекту, аннотируемому @Where, как так

public class EntityA {

    @OneToMany
    @Where(...)
    private List<EntityB> entityBList;

}

Недавно неизбежность произошла, я должен загрузить EntityB, которые не соответствуют @Where пункту. Я мог удалить @Where аннотацию, но она используется много, так идеально я не хочу делать это. Кроме загрузки списка EntityB вручную, с другим запросом, каковы мои опции? Могу я говорить Быть в спящем режиме для игнорирования @Where аннотации?

16
задан Zecrates 22 February 2010 в 13:32
поделиться

2 ответа

После множества исследований выяснилось, что это просто невозможно. Я бы настоятельно рекомендовал избегать @Where, поскольку трудно предсказать заранее, понадобятся ли вам когда-нибудь эти ассоциации или нет.

12
ответ дан 30 November 2019 в 17:15
поделиться

Вы можете сопоставить другое свойство с такие же данные, как это:

public class EntityA {

    @OneToMany
    @JoinColumn(name='theColumnName', insertable=false, updateable=false)
    private List<EntityB> entityBListReadOnly;

}

Важно установить как обновляемое false и вставляемое false, чтобы избежать проблем с согласованностью в ваших данных!

6
ответ дан 30 November 2019 в 17:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: