我为列表服务设置了查询参数,例如:
tablename/list?query=id:10
它正在运行,但我添加了其他参数
'personTNo'
tablename/list?query=id:10&personTNo=101035678
id 是 Integer,但 personTNo
是 Long
当我尝试此 sql 返回 select * from TABLENAME WHERE personTNo=10L
但是我想返回没有“L”的长值。这是我的代码在 RepositoryCustom 类中的一小部分
public List<TABLENAME> getTable(Specification aTablenameSpec) {
CriteriaBuilder builder = mEntityManager.getCriteriaBuilder();
CriteriaQuery<Object> query = builder.createQuery();
Root<TABLENAME> root = query.from(TABLENAME.class);
String queryWhere = null;
org.hibernate.query.Query hibernateQuery = null;
Predicate predicate = aTablenameSpec.toPredicate(root, query, builder);
if (predicate != null) {
query.where(predicate);
query.select(root);
TypedQuery<Object> typedQuery = mEntityManager.createQuery(query);
hibernateQuery = typedQuery.unwrap(org.hibernate.query.Query.class);
String queryString = hibernateQuery.getQueryString();
此行返回 L 结果,如何删除 sql 中的“L”值
最佳答案
在 SQL 查询中使用 INTEGER() 函数。您还可以在查询中尝试 CAST() 或 CONVERT() 函数
关于java - 如何从 java spring 中的 Long 字段值中删除 L,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56902562/