При выполнении следующего запроса в pgAdmin все хорошо, но когда я запускаю запрос из java кода, я получаю ошибку.
Я пытался привести переменные, но безрезультатно, я получаю ошибку синтаксиса преобразования
Интерфейс запроса:
public interface SeanceRepository extends JpaRepository<Seance, Integer>{
@Query(value = "select * from seance, patient where extract(month from date) = ?1 "
+ "and extract(year from date) = ?2 and patient.id = seance.patient_id",
nativeQuery = true)
public List<Object> getSeanceByMonthYear(String month, String year);
}
Ошибка:
org.postgresql.util.PSQLException: ERREUR: l'opérateur n'existe pas : double precision = character varying
Indice : Aucun opérateur ne correspond au nom donné et aux types d'arguments.
Vous devez ajouter des conversions explicites de type.
Position : 62
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440) ~[postgresql-42.2.5.jar:42.2.5]
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183) ~[postgresql-42.2.5.jar:42.2.5]
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308) ~[postgresql-42.2.5.jar:42.2.5]
Пациент. java
@Entity
@Table(name = "Patient")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class Patient {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String firstName;
private String lastName;
private String cin;
private Date birthDate;
private String phoneNumber;
private Boolean active;
//getters and setters
}
сеанс. java
@Entity
@Table(name = "Seance")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class Seance {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private Date date;
@OneToOne
private Patient patient;
@OneToOne
private TypeConsultation typeConsultation;
private String motif;
//getters and setters