Java-有关Hibernate API中的Criteria.createCriteria的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java-有关Hibernate API中的Criteria.createCriteria的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1678字,纯文字阅读大概需要3分钟。
内容图文
![Java-有关Hibernate API中的Criteria.createCriteria的问题](/upload/InfoBanner/zyjiaocheng/654/d19639ce423d4ad595492c117ce4ff23.jpg)
因此,我仍在努力使自己熟悉Hibernate Criteria API,并且我有一段Java代码,我希望对此加以澄清.
Criteria c = super.getSession().createCriteria(PpNnCtDetail.class);
c.add(Restrictions.between("commencementDate", fromDate, toDate);
这部分我了解发生了什么-用SQL表示,就像是-如果我错了,请纠正我,
SELECT * FROM PpNnCtDetail WHERE commencementDate >= fromDate AND commencementDate <= toDate;
问题来自上面两行代码.
c = c.createCriteria("nnContractTbl");
c.createCriteria("progCategory").add(Restrictions.in("progCategoryId", allProgCat));
c.createCriteria("acadOrgTbl");
c.createCriteria("serviceType");
c.createCriteria("campusTbl");
return c.list();
第一线要完成的任务是什么?该分配回到c是否多余?
实际上,c.createCriteria试图实现哪些功能?等效的SQL查询是什么样的?更重要的是,c.list()会返回什么?
解决方法:
在c = c.createCriteria(“ nnContractTbl”);上的分配;这是多余的,createCriteria和几乎所有的Criteria方法都会修改对其调用的实例,并返回该实例本身以进行方法修改.因此,您可以像这样链接呼叫:
return super.getSession().createCriteria(PpNnCtDetail.class)
.add(Restrictions.between("commencementDate", fromDate, toDate)
.createCriteria("nnContractTbl")
.createCriteria("progCategory").add(Restrictions.in("progCategoryId", allProgCat))
.createCriteria("acadOrgTbl")
.createCriteria("serviceType")
.createCriteria("campusTbl")
.list();
关于该序列的结果,Criteria.createCriteria(association)将导致已经存在于条件中的数据与以属性关联为模型的关联中设计的表之间的内部联接.它还将在关联实体处“根”(如Javadocs中所声明的)条件,以便在进一步调用createCriteria(association)时,关联指的是在最后一个“根”实体上声明的关联属性.
这是带有joinType CriteriaSpecification.INNER_JOIN的Criteria.createCriteria(association,joinType)的简写.
内容总结
以上是互联网集市为您收集整理的Java-有关Hibernate API中的Criteria.createCriteria的问题全部内容,希望文章能够帮你解决Java-有关Hibernate API中的Criteria.createCriteria的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。