Я получаю следующее сообщение об ошибке:Не удалось найти соответствующий конструктор по классу JPA
java.lang.IllegalArgumentException: org.hibernate.QueryException: unexpected char:
SELECT NEW com.classes.applicant.ApplicantEntry(app.indSsn, app.indivName, app.indAddrLocTx,app.indAddrCityNm,app.indAdrStateAb,app.indAddrZipCd, app.phoneNr,app.workPhoneNr) FROM TApplicant app WHERE app.indSsn = :ssn
Класс Constructor является правильным:
public ApplicantEntry(String indSsn, String indivName, String indAddrLocTx, String indAddrCityNm, String indAdrStateAb, String indAddrZipCd,
String phoneNr, String workPhoneNr) {
this.indSsn = indSsn;
this.indivName = indivName;
this.indAddrLocTx = indAddrLocTx;
this.indAddrCityNm = indAddrCityNm;
this.indAdrStateAb = indAdrStateAb;
this.indAddrZipCd = indAddrZipCd;
this.phoneNr = phoneNr;
this.workPhoneNr = workPhoneNr;
}
И сущность:
@Entity
@Table(name = "T_APPLICANT", schema = "APP")
public class TApplicant implements Serializable, Applicant {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "IND_SSN", columnDefinition = "CHAR")
private String indSsn;
I не понимаю, почему он жалуется, что он ожидает все строки, когда он получает все строки.
Я выполняю запрос в инструменте постоянства intellij.
Полный запрос в Repository:
@Query("SELECT NEW com.classes.applicant.ApplicantEntry(app.indSsn, app.indivName, "
+"app.indAddrLocTx,app.indAddrCityNm,app.indAdrStateAb,app.indAddrZipCd, app.phoneNr,app.workPhoneNr) "
+"FROM TApplicant app "
+"WHERE app.indSsn = :ssn ")
ApplicantEntry getApplicantEntry(@Param("ssn") String ssn);
Он работает в настоящее время. Просто очистил кеш в моей среде IDE, и все было счастливо. Ненавидь это, когда это так! – Drew1208