ORA-01847: день месяца должен быть от 1 до последнего дня месяца в HQL-запросе - PullRequest
0 голосов
/ 11 октября 2019

У меня ошибка при выполнении запроса HQL. Это два класса, которые я использую. У меня действительно нет решений сейчас. Любая помощь будет принята с благодарностью. Заранее спасибо!

OrganisationApplicationBo.java

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

@Entity
@Table(name = "ORGANISATIONAPPLICATION")
public class OrganisationApplicationBo implements Serializable {

    @Id
    @Column(name = "ORGANISATION_ID", nullable = false)
    private int organisationId;

    @Id
    @Column(name = "CENTRE_NUMBER", nullable = false)
    private String centreNumber;

    @Id
    @Column(name = "CANDIDATE_NUMBER", nullable = false)
    private String candidateNumber;

    @Id
    @Column(name = "TEST_DATE", nullable = false)
    private Date testDate;

    @Column(name = "LAST_MODIFIED", nullable = false)
    private Date lastModified;

    @OneToOne
    @JoinColumns({
        @JoinColumn(name = "CANDIDATE_NUMBER", insertable = false, updatable = false),
        @JoinColumn(name = "CENTRE_NUMBER", insertable = false, updatable = false),
        @JoinColumn(name = "TEST_DATE", insertable = false, updatable = false)
    })
    private CandidateBo candidateBo;

    public int getOrganisationId() {
        return organisationId;
    }

    public void setOrganisationId(int organisationId) {
        this.organisationId = organisationId;
    }

    public String getCentreNumber() {
        return centreNumber;
    }

    public void setCentreNumber(String centreNumber) {
        this.centreNumber = centreNumber;
    }

    public String getCandidateNumber() {
        return candidateNumber;
    }

    public void setCandidateNumber(String candidateNumber) {
        this.candidateNumber = candidateNumber;
    }

    public Date getTestDate() {
        return testDate;
    }

    public void setTestDate(Date testDate) {
        this.testDate = testDate;
    }

    public Date getLastModified() {
        return lastModified;
    }

    public void setLastModified(Date lastModified) {
        this.lastModified = lastModified;
    }

    public CandidateBo getCandidateBo() {
        return candidateBo;
    }

    public void setCandidateBo(CandidateBo candidateBo) {
        this.candidateBo = candidateBo;
    }
}

CandidateBo.java

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.sql.Blob;
import java.util.Date;


@Entity
@Table(name = "CANDIDAT")
public class CandidateBo implements Serializable {

    @Id
    @Column(name = "CANDIDATE_NUMBER", nullable = false)
    private String candidateNumber;

    @Id
    @Column(name = "CENTRE_NUMBER", updatable = false)
    private String centreNumber;

    @Id
    @Column(name = "TEST_DATE")
    private Date testDate;

    @Column(name = "FAMILY_NAME")
    private String familyName;

    @Column(name = "GIVEN_NAME")
    private String givenName;

    @Column(name = "DATE_OF_BIRTH")
    private Date dateOfBirth;

    @Column(name = "GENDER")
    private String gender;

    @Column(name = "CERTID")
    private String certid;

    @Column(name = "ID_NUMBER")
    private String idNumber;

    @Column(name = "RESIT")
    private Integer resit;

    @Column(name = "RESIT_DATE")
    private Date resitDate;

    @Column(name = "OVERALL_RESULT")
    private Integer overallResult;

    @Column(name = "R_BAND_SCORE")
    private Integer rBandScore;

    @Column(name = "L_BAND_SCORE")
    private Integer lBandScore;

    @Column(name = "W_BAND_SCORE")
    private Integer wBandScore;

    @Column(name = "S_BAND_SCORE")
    private Integer sBandScore;

    @Column(name = "PHOTO")
    private Blob photo;

    public String getCandidateNumber() {
        return candidateNumber;
    }

    public void setCandidateNumber(String candidateNumber) {
        this.candidateNumber = candidateNumber;
    }

    public String getCentreNumber() {
        return centreNumber;
    }

    public void setCentreNumber(String centreNumber) {
        this.centreNumber = centreNumber;
    }

    public String getFamilyName() {
        return familyName;
    }

    public void setFamilyName(String familyName) {
        this.familyName = familyName;
    }

    public String getGivenName() {
        return givenName;
    }

    public void setGivenName(String givenName) {
        this.givenName = givenName;
    }

    public Date getDateOfBirth() {
        return dateOfBirth;
    }

    public void setDateOfBirth(Date dateOfBirth) {
        this.dateOfBirth = dateOfBirth;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getCertid() {
        return certid;
    }

    public void setCertid(String certid) {
        this.certid = certid;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public Date getTestDate() {
        return testDate;
    }

    public void setTestDate(Date testDate) {
        this.testDate = testDate;
    }

    public Integer getResit() {
        return resit;
    }

    public void setResit(Integer resit) {
        this.resit = resit;
    }

    public Date getResitDate() {
        return resitDate;
    }

    public void setResitDate(Date resitDate) {
        this.resitDate = resitDate;
    }

    public Integer getOverallResult() {
        return overallResult;
    }

    public void setOverallResult(Integer overallResult) {
        this.overallResult = overallResult;
    }

    public Integer getrBandScore() {
        return rBandScore;
    }

    public void setrBandScore(Integer rBandScore) {
        this.rBandScore = rBandScore;
    }

    public Integer getlBandScore() {
        return lBandScore;
    }

    public void setlBandScore(Integer lBandScore) {
        this.lBandScore = lBandScore;
    }

    public Integer getwBandScore() {
        return wBandScore;
    }

    public void setwBandScore(Integer wBandScore) {
        this.wBandScore = wBandScore;
    }

    public Integer getsBandScore() {
        return sBandScore;
    }

    public void setsBandScore(Integer sBandScore) {
        this.sBandScore = sBandScore;
    }

    public Blob getPhoto() {
        return photo;
    }

    public void setPhoto(Blob photo) {
        this.photo = photo;
    }

}

MyHQL-запрос

String hql = "SELECT a FROM OrganisationApplicationBo a " +
                    "INNER JOIN a.candidateBo b " +
                    "WHERE a.organisationId='180'";

            Query query = session.createQuery(hql);
            System.out.println(query.list());

Ошибка:

 org.hibernate.exception.DataException: could not execute query
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:102)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
    at org.hibernate.loader.Loader.doList(Loader.java:2536)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
    at org.hibernate.loader.Loader.list(Loader.java:2271)
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
    at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
    at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
    at com.auth0.trf.util.AuthUtil.getOrganisationApplicationBoList(AuthUtil.java:125)
    at com.auth0.trf.swing.ui.MainFrame$GenerateFile.actionPerformed(MainFrame.java:54)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6539)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6304)
    at java.awt.Container.processEvent(Container.java:2239)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
 Caused by: java.sql.SQLDataException: ORA-01847: day of month must be between 1 and last day of month
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...