JPQL с определенным столбцом, возвращающим массив объектов - PullRequest
0 голосов
/ 21 января 2019

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

Я не уверен, что не так с кодом ниже.

Я могу использовать конструктор Customwidgets в аннотации запроса, но я хочу этого избежать.Есть ли обходной путь?

У меня ниже класс домена: -

public class Customwidgets implements Serializable {
    @Id
    private UUID id;

    @NotNull
    @Column(name = "name", nullable = false)
    private String name;

---
---
}

Мой класс репозитория: -

@Repository
public interface CustomwidgetsRepository extends JpaRepository<Customwidgets, UUID>, JpaSpecificationExecutor<Customwidgets> {

    @Query("select o.id, o.name from Customwidgets o")
    List<Customwidgets> findAllNamesAndID();

}

1 Ответ

0 голосов
/ 21 января 2019

Вы можете создать интерфейс для определения вашей проекции.Например:

public interface CustomWidgetsProjection {

   String getId();

   String getName();

}

Затем вы можете вернуть созданный вами интерфейс вместо CustomWidgets:

@Query("select o.id, o.name from Customwidgets o")
List<CustomWidgetsProjection> findAllNamesAndID();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...