相关疑难解决方法(0)

原因:org.hibernate.QueryException:无法解析 CAST 的请求类型:INT

引起原因:org.hibernate.QueryException:无法解析 CAST 请求的类型:INT [ SELECT SUBSTRING(referenceComptable , 8, 14) AS seqNum, SUBSTRING(referenceComptable, 4,7) ASyearCegid, SUBSTRING(referenceComptable, 1,3) AS 期刊来自 com.dso.model.comptabilite.cegid.EtapeJudiciaireLnkFactureActesHonoraires WHERE dateCegidGenelated BETWEEN :date AND :dateYearIntervalDate ORDER BY CAST(seqNum AS INT), CAST(yearCegid AS INT), CAST(journal AS INT) ASC ]

HQL 查询: public Sc​​rollableResultsretrieveSequenceNumberForCegidGenerate(){

        StringBuilder queryBuilder = new StringBuilder(" SELECT SUBSTRING(referenceComptable , 8, 14) AS seqNum, SUBSTRING(referenceComptable, 4,7) AS yearCegid, SUBSTRING(referenceComptable, 1,3) AS journal")
                            .append(" FROM EtapeJudiciaireLnkFactureActesHonoraires ")
                            .append(" WHERE dateCegidGenerated BETWEEN :date AND :dateYearIntervalDate ")
                            .append(" ORDER BY CAST(seqNum AS INT), …
Run Code Online (Sandbox Code Playgroud)

java hql scrollableresults

9
推荐指数
1
解决办法
1万
查看次数

如何在 jsonb 列上使用 Spring JPA 进行查询?

我正在将 spring JPA 与 PostgreSQL 数据库一起使用。我有一个实体如下:

@Entity
@TypeDef(name="json_binary", typeClass = com.vladmihalcea.hibernate.type.json.JsonBinaryType.class)
public class LiveTokens {

   @Id
   @GeneratedValue()
   private Long id;

   private String username;

   @Type(type="json_binary")
   @Column(columnDefinition = "jsonb")
   private Token token
}
Run Code Online (Sandbox Code Playgroud)

Token

public class Token {
   private Long expireTime;
   private String accessToken;
}
Run Code Online (Sandbox Code Playgroud)

为了使用Hibernate将对象保存到列,我使用了Hibernate Types项目。现在我想获得LiveToken过期的All 。我不能用 Spring JPA 做到这一点。如何使用 Spring 数据 JPA 查询 posgresql jsonb 列?

java postgresql spring hibernate spring-data-jpa

6
推荐指数
2
解决办法
7730
查看次数

jpql 异常 ORA-00932: 数据类型不一致: 预期 BINARY 得到 DATE

我写了下面的 JPQL。

select e.name from emp e where e.date = nvl(:date,select max(date) from emp e where e.id=1);
Run Code Online (Sandbox Code Playgroud)

当我传递日期值时,它应该使用给定的日期值运行 JPQL。如果我不传递任何日期值,那么 JPQL 应该以max(date).

但得到了例外inconsistent datatypes

观察结果:

如果我将查询更改为:

select e.name from emp e where e.date = :date
Run Code Online (Sandbox Code Playgroud)

它运行良好。但当我使用时,nvl我遇到了异常。

hibernate jpa hql jpql spring-data-jpa

5
推荐指数
1
解决办法
1729
查看次数