Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从PermitApproval运行HQL时出错_Java_Postgresql_Hibernate_Hql - Fatal编程技术网

Java 从PermitApproval运行HQL时出错

Java 从PermitApproval运行HQL时出错,java,postgresql,hibernate,hql,Java,Postgresql,Hibernate,Hql,只有在运行HQL时才会遇到此错误: 来自PermitApproval i、 从netbeans中的hibernate.xml文件中删除。在postgres中运行查询(即从permitapproval中选择*)不会出现此类错误。 在HQL中从表中选择单个列时,也不会出现错误 e、 g 从PermitProval中选择permitno 从PermitApproval中选择permitrequest(permitrequest是另一个对象) 许可证的休眠模式如下: @Entity @Table(nam

只有在运行HQL时才会遇到此错误:

来自PermitApproval

i、 从netbeans中的hibernate.xml文件中删除。在postgres中运行查询(即从permitapproval中选择*)不会出现此类错误。 在HQL中从表中选择单个列时,也不会出现错误

e、 g
从PermitProval中选择permitno
从PermitApproval中选择permitrequest(permitrequest是另一个对象)

许可证的休眠模式如下:

@Entity
@Table(name = "permitapproval", schema = "excise2")
public class PermitApproval implements Serializable {


 private Permitrequest permitrequest;
 private Transactions transaction;
 private Date validfrom;
 private Date validto;
 private String referencepermitno;
 private Integer currentmonth;
 private Integer currentyear;
 private Modules module;
 private String  officeabbreviation;
 private String finyear;
 private Integer slno;
 private String warehouseabbr;
 private String permitno;
 private Userlogin user;
 private Timestamp entrydate;
 private Date referencedate;
 private ExportRoutes routes;
 private StatesExcise statesexcise;





 public PermitApproval(){

 }

public PermitApproval(modelform.PermitApprovalForm permitapproval) {

    if (permitapproval.getPermitrequest() == null) {
        this.permitrequest = new Permitrequest();
    } else {
        this.permitrequest = new Permitrequest(permitapproval.getPermitrequest());
    }

    if (permitapproval.getTransaction()== null) {
        this.transaction = new Transactions();
    } else {
        this.transaction = new Transactions(permitapproval.getTransaction());
    }

    if (permitapproval.getModule() == null) {
        this.module = new Modules();
    } else {
        this.module = new Modules(permitapproval.getModule());
    }


    if (permitapproval.getUser() == null) {
        this.user = new Userlogin();
    } else {
        this.user = new Userlogin(permitapproval.getUser());
    }

     if (permitapproval.getRoutes()== null) {
        this.routes = new ExportRoutes();
    } else {
        this.routes = new ExportRoutes(permitapproval.getRoutes());
    }

    if (permitapproval.getStatesexcise()== null) {
        this.statesexcise = new StatesExcise();
    } else {
        this.statesexcise = new StatesExcise(permitapproval.getStatesexcise());
    }

    this.currentmonth=permitapproval.getCurrentmonth();
    this.currentyear=permitapproval.getCurrentyear();
    this.slno=permitapproval.getSlno();
    this.finyear=permitapproval.getFinyear();
    this.permitno=permitapproval.getPermitno();
    this.referencepermitno=permitapproval.getReferencepermitno();
    this.warehouseabbr=permitapproval.getWarehouseabbr();
    this.officeabbreviation=permitapproval.getOfficeabbreviation();
    this.valid_from=permitapproval.getValid_from();
    this.valid_to=permitapproval.getValid_to();
    this.entry_date=permitapproval.getEntry_date();
    this.reference_date=permitapproval.getReference_date();

}


@Id
@OneToOne(fetch=FetchType.EAGER)
@JoinColumn(name="applicationcode", referencedColumnName ="applicationcode" ,nullable=false) 
public Permitrequest getPermitrequest() {
    return permitrequest;
}


public void setPermitrequest(Permitrequest permitrequest) {
    this.permitrequest = permitrequest;
}



@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="transactioncode", nullable=false) 
public Transactions getTransaction() {
    return transaction;
}

public void setTransaction(Transactions transaction) {
    this.transaction = transaction;
}

@Column(name = "validfrom", nullable = false)
public Date getValidfrom() {
    return validfrom;
}

public void setValidfrom(Date validfrom) {
    this.validfrom = validfrom;
}

@Column(name = "validto", nullable = false)
public Date getValidto() {
    return validto;
}

public void setValidto(Date validto) {
    this.validto = validto;
}

@Column(name = "referencepermitno", nullable = false)
public String getReferencepermitno() {
    return referencepermitno;
}

public void setReferencepermitno(String referencepermitno) {
    this.referencepermitno = referencepermitno;
}

@Column(name = "currentmonth", nullable = false)
public Integer getCurrentmonth() {
    return currentmonth;
}

public void setCurrentmonth(Integer currentmonth) {
    this.currentmonth = currentmonth;
}

@Column(name = "currentyear", nullable = false)
public Integer getCurrentyear() {
    return currentyear;
}

public void setCurrentyear(Integer currentyear) {
    this.currentyear = currentyear;
}

@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="modulecode", nullable=false) 
public Modules getModule() {
    return module;
}

public void setModule(Modules module) {
    this.module = module;
}


@Column(name = "finyear", nullable = false)
public String getFinyear() {
    return finyear;
}

public void setFinyear(String finyear) {
    this.finyear = finyear;
}

@Column(name = "slno", nullable = false)
public Integer getSlno() {
    return slno;
}

public void setSlno(Integer slno) {
    this.slno = slno;
}

@Column(name = "warehouseabbr", nullable = false)
public String getWarehouseabbr() {
    return warehouseabbr;
}

public void setWarehouseabbr(String warehouseabbr) {
    this.warehouseabbr = warehouseabbr;
}


@Column(name = "permitno", nullable = false)
public String getPermitno() {
    return permitno;
}

public void setPermitno(String permitno) {
    this.permitno = permitno;
}


@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="usercode", nullable=false)
public Userlogin getUser() {
    return user;
}

public void setUser(Userlogin user) {
    this.user = user;
}

@Column(name = "entrydate", nullable = false)
public Timestamp getEntrydate() {
    return entrydate;
}

public void setEntrydate(Timestamp entrydate) {
    this.entrydate = entrydate;
}

@Column(name = "officeabbreviation", nullable = false,length=4)
public String getOfficeabbreviation() {
    return officeabbreviation;
}

public void setOfficeabbreviation(String officeabbreviation) {
    this.officeabbreviation = officeabbreviation;
}

@Column(name = "referencedate", nullable = true)
public Date getReferencedate() {
    return referencedate;
}

public void setReferencedate(Date referencedate) {
    this.referencedate = referencedate;
}

@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="routecode", nullable=true)
public ExportRoutes getRoutes() {
    return routes;
}

public void setRoutes(ExportRoutes routes) {
    this.routes = routes;
}

@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="statesexcisecode", nullable=true)
public StatesExcise getStatesexcise() {
    return statesexcise;
}

public void setStatesexcise(StatesExcise statesexcise) {
    this.statesexcise = statesexcise;
}










private String valid_from;
private String valid_to;
private String entry_date;
private String reference_date;

@Transient
public String getValid_from() {
    return valid_from;
}

public void setValid_from(String valid_from) {
    this.valid_from = valid_from;
}

@Transient
public String getValid_to() {
    return valid_to;
}


public void setValid_to(String valid_to) {
    this.valid_to = valid_to;
}

@Transient
public String getEntry_date() {
    return entry_date;
}

public void setEntry_date(String entry_date) {
    this.entry_date = entry_date;
}

@Transient
public String getReference_date() {
    return reference_date;
}

public void setReference_date(String reference_date) {
    this.reference_date = reference_date;
  }
}
注意:为PermitApproval内映射的所有内部表运行HQL工作正常 i、 e来自模块、permitrequest、事务等

错误如下:

org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:123)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:89)
at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.getResultSet(AbstractLoadPlanBasedLoader.java:449)
at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeQueryStatement(AbstractLoadPlanBasedLoader.java:202)
at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:137)
at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:102)
at org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:186)
at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:4120)
at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:502)
at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:467)
at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:212)
at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:258)
at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:150)
at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1066)
at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:985)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:673)
at org.hibernate.type.EntityType.resolve(EntityType.java:489)
at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:170)
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:144)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1114)
at org.hibernate.loader.Loader.processResultSet(Loader.java:972)
at org.hibernate.loader.Loader.doQuery(Loader.java:920)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
at org.hibernate.loader.Loader.doList(Loader.java:2551)
at org.hibernate.loader.Loader.doList(Loader.java:2537)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367)
at org.hibernate.loader.Loader.list(Loader.java:2362)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:496)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:229)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)
Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: character varying = smallint
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:80)
... 32 more
我多次复查了每一列及其数据类型,无法找出原因:
运算符不存在:字符变化=smallint

使用以下命令:
冬眠4
博士后9.5