网站建设及网页设计教案,哈尔滨网络公司代理商,济南网站建设搜点网络,电脑做网站主机你好#xff01;你好吗#xff1f; 我很高兴宣布uaiCriteria的发布#xff0c;EasyCriteria的演进。 确实需要更改框架名称吗#xff1f; 是的#xff0c;可悲的是。 我找到了另一个具有相同名称的框架 #xff0c;这就是为什么我决定更改名称的原因#xff08;我不希… 你好你好吗 我很高兴宣布uaiCriteria的发布EasyCriteria的演进。 确实需要更改框架名称吗 是的可悲的是。 我找到了另一个具有相同名称的框架 这就是为什么我决定更改名称的原因我不希望有任何法律问题。 该框架的区别在于其他框架都可以使用MetaModel而uaiCriteria可以使用字符串作为参数。 关于框架名称更改 您的代码可以在此新版本上正常使用该代码是复古兼容的 所有EasyCriteria类均以Deprecated注释并将在下一版本中删除。 新类具有旧版本的所有方法。 如果要更改新代码只需“ 替换 ”代码中的UaiCriteria文本EasyCriteria 同样我不想更改框架名称但是我不想法律问题 框架现在有了吉祥物 吉祥物 新版本有很多新东西。 让我们先谈一下结构变化 该站点已更改现在是http://uaicriteria.com 存储库已经更改现在在GIT上很多开发者都要求 https://github.com/uaihebert/uaicriteria SONAR插件已添加到pom.xml中以帮助编写代码代码覆盖率和静态分析 科伯图拉大学 旧站点将被停用但是所有旧文档都已迁移。 当前的API有一些条件限制在条件中使用HAVING是不可能的。 我们将创建一个用于复杂条件的新接口/ API-我正在为新接口寻找新名称您能建议我一个吗 让我们谈谈新功能 欢迎来到巴图 Batoo是EclipseLink或Hibernate之类的JPA提供程序。 在这个新版本中我们使用Batoo测试了很多方法。 注意我讲的是“很多方法”但不是大多数方法。 不幸的是Batoo在JPQL和Criterias方面存在一些问题我无法用它涵盖大多数方法。 uaiCriteria框架几乎支持EclipseLinkHibernate和OpenJPA的所有方法。 多选 可以选择要返回的属性 selectp.name,p.age
from Person p 如果我们在条件中转换上面的JPQL finalUaiCriteriaPerson uaicriteria UaiCriteriaFactory.UaiCriteriaFactory.createMultiSelectCriteria(entityManager, Person.class);uaiCriteria.addMultiSelectAttribute(name).addMultiSelectAttribute(age);finalList multiselectList uaiCriteria.getMultiSelectResult(); 有关上述代码的一些注意事项 如果仅选择一个属性则将返回对象 如果您选择多个属性则将返回Object [] JPA提供程序可能返回Vector而不是Object []在我的测试中EclipseLink返回了Vector 子查询 现在可以执行如下子查询 select p from Person p
where p.id in(select dog.person.id from Dog dog where dog.cute true) 我不会谈论完成上面的JPQL所需的几行本地JPA标准但是使用UaiCriteria非常容易做到 final UaiCriteriaPerson uaiCriteria UaiCriteriaFactory.createQueryCriteria(Person.class);final UaiCriteriaDog subQuery uaiCriteria.subQuery(person.id, Dog.class); // dog.person.idsubQuery.andEquals(cute, true);uaiCriteria.andAttributeIn(id, subQuery); //person.id 您需要做的就是创建一个子查询来通知其返回值。 然后调用根条件的方法attributeIn。 MapIsEmpty [否] isEmpty方法可用于地图 uaiCriteria.andCollectionIsEmpty(ENTITY_MAP);AttributeIn [NOT] 如果要验证值是否在JPQL之类的列表中请执行以下操作 select p
from Payment p
wherep.statusEnum in :enumList 您可以像上面这样创建JPQL final UaiCriteriaPayment uaiCriteria UaiCriteriaFactory.createQueryCriteria(Payment.class);uaiCriteria.andAttributeIn(statusEnum, Arrays.asList(StatusEnum.VALUE_01, StatusEnum.VALUE_02)); 该属性可以是枚举整数字符串等。 MemberOf [NOT] 下面的查询 select d
from Departament d
where :person member of d.employeeList 可以这样创建 final UaiCriteriaDepartament uaiCriteria UaiCriteriaFactory.createQueryCriteria(Departament.class);uaiCriteria.andIsMemberOf(person, employeeList);Count和CountRegularCriteria 现在可以使用MultiSelect条件进行计数。 count方法已重命名为countRegularCriteria 。 它的工作方式与旧版本类似只是名称被重构以使内容更加鲜明。 CountAttribute 有时您需要计算属性而不是实体 select count(p.id)
from Person p 您可以像上面那样运行JPQL final UaiCriteriaPerson uaiCriteria UaiCriteriaFactory.createMultiSelectCriteria(Person.class);uaiCriteria.countAttribute(id);final List result uaiCriteria.getMultiSelectResult();GroupBy和聚合函数 现在可以使用聚合函数来执行GroupBy了求和求差除法模块等。 select sum(p.value), p.status
from Payment p
group by p.status 可以像这样执行 final UaiCriteriaPayment uaiCriteria UaiCriteriaFactory.createMultiSelectCriteria(Payment.class);uaiCriteria.sum(id).groupBy(status);final List result uaiCriteria.getMultiSelectResult();新的Maven导入 如果要使用新版本只需将以下xml添加到pom.xml中 dependencygroupIduaihebert.com/groupIdartifactIduaiCriteria/artifactIdversion4.0.0/version
/dependency 我希望你喜欢这个消息。 不要忘了访问新站点————— http://uaicriteria.com 如果您有任何疑问疑问或建议请将其发布。 再见。 翻译自: https://www.javacodegeeks.com/2014/11/easycriteria-has-evolved-to-uaicriteria-new-name-and-more-features.html