Как читать данные Clob с помощью собственного запроса jpa?а каким должен быть интерфейс jpa и класс обслуживания? - PullRequest
0 голосов
/ 24 ноября 2018
public interface StudentRepo extends JpaRepository<Student, Integer> {

    @Query(value = "SELECT Name FROM STUDENT WHERE UNIQID=?", nativeQuery = true)
     public abstract _______ getStudentByUniqueKey(String uniqueKey);
}

Вот какой тип возврата?

Ответы [ 2 ]

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

Ответ - Строка , а также вы должны учесть, что в вашей сущности Студент поместите эти аннотации для CLOB:

   @Column(name="name", columnDefinition="CLOB NOT NULL") 
   @Lob 
   private String name;

ОБНОВЛЕНИЕ:

Значение columnDefinition = "..." зависит от вашей базы данных.Например, для PostreSQL это должно быть columnDefinition="text" вместо columnDefinition="clob"

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

Ваш StudentRep должен выглядеть следующим образом:

public interface StudentRepo extends JpaRepository<Student, Integer> {

    @Query(value = "SELECT name FROM Student WHERE uniqid=:uniqid", nativeQuery = true)
     public String getStudentNameByUniqueKey(@Param("uniqid")String uniqueKey);
}

А если вы хотите получить объект Student:

 @Query(value = "SELECT student FROM Student student WHERE student.uniqid=:uniqid", nativeQuery = true)
  public Student findStudentByUniqueKey(@Param("uniqid")String uniqueKey);

А для получения более подробной информации вы можете проверить официальный документ

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