Я пытаюсь понять поведение EclipseLink в случае, если я использую собственный запрос. Поэтому у меня есть Entity, как это:Собственный запрос EclipseLink и поведение FetchType
class Entity {
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name="other_entity_id")
private OtherEntity otherEntity;
@Column(name = "name")
private String name;
//gets ... sets ...
}
и соответствующая таблица выглядит следующим образом:
**ENTITY**
INTEGER ID;
VARCHAR NAME;
OTHER_ENTITY_ID;
А потом я бегу родной запрос
Query query = getEntityManager().runNativeQuery("select * from ENTITY", Entity.class);
query.getResultList()
В Entity
я объявил OtherEntity otherEntity
который с аннотацией FetchType.LAZY
, однако мой запрос выбирает (*) - все столбцы, включая OTHER_ENTITY_ID. Вопрос в том, что - если я запускаю собственный запрос, который извлекает все столбцы, будут ли аннотированы поля FetchType.LAZY
, как если бы они были FetchType.EAGER
или нет? Я никогда не работал с EclipseLink до и Tyring решить, стоит ли использовать его или нет, так что я был бы очень признателен за любую помощь
Спасибо, Приветствия