Значения карты в JPA в собственном запросе - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть приложение весенней загрузки с JPA. Мне нужно сопоставить значение в запросе с сущностью.

Пример сущности

@Entity
@Table(name = "questions")
@DynamicUpdate
public class Question{

 @Id
 @Column(nullable = false)
 @GeneratedValue(strategy = GenerationType.IDENTITY)
 private Long id;

 @Lob
 private String description;

 @Transient
 private int noOfViews;

}

Пример запроса

@Repository
public interface QuestionRepository extends JpaRepository<Question, Long> {

@Query(value = "select q.*,  2 NO_OF_VIEWS from questions q 
order by q.id DESC ", countQuery = "select count(*) from questions q order by q.id DESC " ,nativeQuery = true)
        Page<Question> findQuestions(Pageable pageable);

}

Мне нужно установить значение в поле noOfViews. Есть идеи по этому поводу? Spring имеет интерфейс RowMapper, но ничего не нашел для весенней загрузки.

1 Ответ

0 голосов
/ 01 ноября 2018

Возможно, вы захотите посмотреть SqlResultSetMapping Документация

Также есть хороший пример проекта JPA. См. Этот пример

Выдержка из ссылки выше.

В JPA 2.1 представлен новый тип SqlResultSetMapping ConstructorResult, который позволяет отображать столбцы строки результирующего набора в вызов конструктора, который можно использовать в сочетании с объектами-значениями.

TBH, я не пробовал это на полях @Transient, но я использовал @NamedNativeQuery с Projection DTO.

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