Возможен ли выборочный запрос JPA, который игнорирует связанные сущности отношения один-ко-многим?

Я новичок в JPA, так что извините, если мой вопрос кажется основным. У меня есть объект с именем User, который связан со списком других объектов, таких как:

@OneToMany(cascade = CascadeType.ALL , mappedBy = "user")
private List<session> sessionList;

В классе контроллера я определил метод find методом RESTFull следующим образом:

@GET
@Path("/Users")
@Produces("application/json")
public List<UserDevice> findAllUsers()
{
    return em.createQuery("SELECT u FROM User u").getResultList();
}

Возвращенный результат содержит все сеансы пользователей, что является нормальным, но делает результат огромным, хотя я просто хочу получить основную информацию о пользователях (все простые столбцы). Мой вопрос: возможно ли игнорировать связанные сущности и просто сохранить столбцы фактической сущности? большое спасибо

1 ответ

Решение

Если вы явно не сопоставите ассоциацию как загруженную (используя @OneToMany(fetch = FetchType.EAGER)), приведенный выше запрос должен возвращать только поля пользователей и не должен загружать их sessionList,

Если сеансы загружены, то ассоциация помечается как загруженная с нетерпением, или вы загружаете их лениво, вызывая метод List<Session>,

Другие вопросы по тегам