我已尝试获取以下代码的结果:
List<SfsRepDemNote> lis = new ArrayList<SfsRepDemNote>();
String sql = "select * from ( "
+ "SELECT"
+ " core.SFS_REP_DEM_NOTES_ID,"
+ " Rank( ) Over( partition by core.hkid,core.scheme_code,core.demand_note_type Order by core.issue_date desc) rnk "
+ "FROM"
+ " sfs_rep_dem_notes core"
+ " "
+ "WHERE"
+ " core.void_ind = 'N'"
+ " AND core.hold_ind = 'N'"
+ " AND trunc(grace_due_date) <= TO_DATE( :dat ,'dd/mm/yyyy')"
+ " AND hkid = :hkid "
+ " AND exists ("
+ " SELECT"
+ " 1"
+ " FROM"
+ " sfs_rep_dem_note_components com "
+ " JOIN sfs_loan_infos loinf ON com.sfs_loan_info_id = loinf.sfs_loan_info_id "
+ " WHERE"
+ " loinf.loan_ref_num in :ref "
+ " and core.sfs_rep_dem_notes_id = com.sfs_rep_dem_notes_id"
+ " AND nvl(com.surcharge_unpaid,0) + nvl(com.instal_interest_unpaid,0) + nvl(com.instal_principal_unpaid,0) >= 1"
+ " )) where rnk = 1";
Query query = super.getEntityManager().createQuery(sql);
query.setParameter("dat", "01/02/2018");// letterDefaultDateFormat.format(defermentCase.getReceiveDate()));
query.setParameter("hkid", "E80001");// defermentCase.getGaHkid());
query.setParameter("ref", selectedValues);
//logger.info(query.getParameterValue(3));
List<Object[]> list = query.getResultList();
logger.info("list =" + list.size());
for (Object[] array : list) {
//logger.info("id = " + array[0].toString());
lis.add(findByPK(Long.parseLong(array[0].toString()),
SfsRepDemNote.class));
// logger.info(tmpQuery.getResultList().size());
}
logger.info("end");
return lis;
在某些情况下,我需要在上面使用“In cause”。我尝试使用createSelectNativeQuery()
获得结果,但对于param:ref它不能在本机查询中工作,但在ejb ql中,我只是得到了以下错误消息:
null
我累坏了,大家能给我一些建议吗?thx寻求帮助
假设您使用的是纯jpa实现,只需将query query=super.getEntityManager().createNativeQuery(sql);
替换为query query=super.getEntityManager().createNativeQuery(sql);
。还可以部分编辑本机查询,从loinf.loan_ref_num IN:ref
到loinf.loan_ref_num IN(:ref)
。
我刚开始冬眠。我有两张桌子,有一对多的关系。有两个表格: 这是一个父类,它与图像表有一对多关系 现在我想使用父类的id(即:pashminaId)从类中选择一个 如: 选择IMAGE_NAMETBL_IMAGEPASHMINA_ID='some_digit'; 我怎么能在图像类中传递pashminaId,因为没有它只有一个父类的对象创建。 那么,我如何在Hibernate中实现这一点? 谢谢!希望
我试图使用jpa组件来选择从标题中获取的id。我在文档中找到了一个使用本机select查询的示例: 我试图用${header.id}替换“1”常量: 这似乎不管用,我明白了: 也许还有别的方法可以让它发挥作用?
我试图使用JPA标准编写以下查询,但我无法选择子查询中的多列。 我陷入了下面的实现过程中,无法找到如何在子查询中选择多个列。请看我在代码中的评论(第三行)。 请帮我解决这个问题。
我的问题与我在StackOverflow上看到的其他问题略有不同,所以请不要将此与之前的答案混淆。 我有个疑问 我想选择前500行,因为Oracle在GROUP和ORDER BY条件(证据)之前处理where子句,所以我必须通过将此查询包装在另一个查询中来选择前500行来实现这一点。 所以,现在我的查询看起来像... 这一切都很好,但我正在努力使用QueryOver API将其转换为NHibern
我有一个关于jpa中的子查询类的问题。我需要创建两个自定义字段的子查询,但是子查询没有多选方法,选择方法有表达式输入参数(在查询中这是选择)和配置方法不合适。 此外,我对联接子查询结果有疑问,是否可能?怎么做呢? 我有: 链延伸度 消息实体 查询包装 我需要创建这个查询(这是查询的一部分,我从谓词中获得的另一部分。JPQL不合适) 在子查询中我做 但是,子查询在params中没有带有Compoun
我正在使用Spring JPA执行所有数据库操作。但是,我不知道如何在Spring JPA中从表中选择特定的行(通过简单的WHERE子句连接)? 用户类: 存储库: