- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 Lambdaj 对查询结果集执行树形分组。结果来自 Hibernate。
我可以成功进行聚合,但代码在分组时失败:
List<MyClass> list = myDao.findByProperty(value);
Integer intAvg = avg(list, on(MyClass.class).getIntProperty()); //OK
Group<MyClass> group = group(list, on(MyClass.class).getGroupingStringProperty()); //FAIL
异常(exception)是
ch.lambdaj.util.IntrospectionException: java.lang.NoSuchMethodException: org.example.entityMyClass.-2147483644()
at ch.lambdaj.util.IntrospectionUtil.getPlainPropertyValue(IntrospectionUtil.java:61)
at ch.lambdaj.util.IntrospectionUtil.getBooleanPropertyValue(IntrospectionUtil.java:53)
at ch.lambdaj.util.IntrospectionUtil.getPropertyValue(IntrospectionUtil.java:45)
at ch.lambdaj.group.StringGroupCondition.getGroupValue(StringGroupCondition.java:41)
at ch.lambdaj.group.GroupImpl.addItem(GroupImpl.java:28)
at ch.lambdaj.group.Groups.group(Groups.java:58)
at ch.lambdaj.group.Groups.group(Groups.java:46)
at ch.lambdaj.Lambda.group(Lambda.java:1237)
at org.example.package.Class.method(Class.java:128)
...............
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodException: org.example.entityMyClass.-2147483644()
at java.lang.Class.getMethod(Class.java:1665)
at ch.lambdaj.util.IntrospectionUtil.getPlainPropertyValue(IntrospectionUtil.java:59)
... 91 more
我尝试做一些作业,但暂时没有成功。
Lambdaj 使用 cglib
执行代理。 Ivy 文件提供了 cglib-nodep.jar
包裹。我们的架构项目功能(因为依赖 Hibernate)cglib
标准发布和 asm-all
。请注意,由于公司政策,我们的 Ivy 依赖文件不允许传递依赖,依赖关系由开发团队根据项目的实际需求决定(因此,如果 Hibernate 需要某个版本的 cglib
,我们将对 Ivy 的依赖并将所有内容标记为非传递性)。
所以在我的项目中我有<dependency org="com.googlecode.lambdaj" name="lambdaj" rev="2.3.3"/>
(默认情况下传递 true)并且我的项目所依赖的架构项目具有
<dependency org="org.ow2.asm" name="asm-all" rev="4.0" transitive="false"/>
<dependency org="org.hibernate" name="hibernate-core" rev="4.1.6.Final" transitive="false"/>
<dependency org="org.hibernate" name="hibernate-ehcache" rev="4.1.6.Final" transitive="false"/>
<dependency org="org.hibernate" name="hibernate-validator" rev="4.3.0.Final" transitive="false"/>
<dependency org="org.hibernate.javax.persistence" name="hibernate-jpa-2.0-api" rev="1.0.1.Final" transitive="false"/>
(以及更多)
问题是:我在代码中做错了什么吗?这是 Hibernate 的问题吗?
最佳答案
小错误
API 必须调用,而不是
Group<MyClass> group = group(list, on(MyClass.class).getGroupingStringProperty());
而是
Group<MyClass> group = group(list, by(on(MyClass.class).getGroupingStringProperty()));
注意group
...by
语法
关于java - Hibernate 和 Lambdaj 的分组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29798807/
我有这样的代码: List back = new ArrayList(); for( ClassA classA : getClassAs() ) { if( classA instanceo
我们已经为 lambdaj 及其依赖项下载了 jar 文件,它们也是 jar 文件。我们不知道该怎么做。我们已将这些文件复制到 C:\Program Files\Java\jre6\lib\ext 已
这听起来像是一个愚蠢的问题,但是我如何开始使用 lambdaj 库?我下载了 lambdaj.jar 并将其与其他 jar 文件一起放在我的 web 应用程序的 lib 目录中。但我无法导入任何类(c
我正在尝试编写一个 Hamcrest 匹配器来验证返回类对象的方法的返回值。例如,给定类: public static class ClassHolder { private final Cl
有人试过在android开发中使用lambdaj库吗? 当我创建一个简单的小型 java 应用程序时,它对我来说工作正常,但我无法在 android 应用程序中使用它。 更新: 我正在添加 lambd
我希望能够使用 lambdaj 将子列表组合成单个列表。 我有一个有效的迭代版本: // HDU elements are children of each subsystem Collection
使用 Lambdaj,我尝试从列表中分离出满足 2 个单独条件的对象。以下两项都将实现我的目标。一) List someObjectsWithMatchingSomeObjectIds = s
在使用 JSF 和 JPA 的 java ee 应用程序中,我必须计算对象列表中的属性总数。我使用LambdaJ库来实现求和的计算。 由于我在应用程序的多个位置使用此类求和,可能会对整体性能产生影响,
如何在 lambdaj 中使用多个排序条件?例如获取首先按姓名排序的列表,然后按年龄排序: 姓名年龄 姓名A 14 姓名B 12 姓名B 15 名称C 10 名称C 11 感谢您的帮助。 最佳答案 看
代码: class MyClass { private String field1; private Long field2; //getters and setters al
lambdaj看起来是个不错的项目。开始使用它需要哪些实际步骤?我如何将它与我的 Maven 项目集成? 最佳答案 在 maven 项目中使用 lambdaj 非常简单,因为它在 maven 中央存储
我是 lambdaj 的新手。这似乎是 Java 编程的一个很棒的特性。 所以我创建了一个非常简单的评估程序。 但是我得到了以下代码的异常。你能帮我看看哪里出了问题吗? --EDITED 添加了无参数
我正在使用 lamdaj 表达式根据特定条件过滤列表。为了找到匹配项,正在使用 hamcrest 匹配器。 我的问题是,我想使用 AND 和 OR 运算符根据多个条件过滤列表,但我不知道该怎么做。 例
我一直在尝试自学 Lambdaj,它似乎不想随机化我的字符串数组。我是否应该将字符串添加到列表中以便能够使用 Lambdaj 处理集合。我想要做的就是获取一组字符串并使用 LambdaJ 以随机顺序打
如何使用 lambdaj 过滤表格? 给出下表: id name age male salary1 tom 22 y 3k2 nancy 24 n
在这种情况下,我根据条件将列表过滤为多个列表。 for(SomeObj someObj : someObjs) { if(StringUtils.equalsIgnoreCase(someOb
我有两个这样的类: public class Order{ private Integer id; private List positions; ... } public c
Lamdbaj允许在Java语言中定义闭包,可以找到各种例子 here 我的问题是关于使用中的底层 Java 机制,例如,要定义 println 闭包,使用以下代码: Closure println
在我去年做的一个 Java 集成项目中,我发现了 lambdaj,并立即相信它能够让我更快地生成更具可读性的代码。我记得当时也读过有关 lambda 表达式即将发布到 1.8 的信息,并且认为我找到了
我想用 lambdaj 从嵌套数组中提取一个对象。我的模型是一个包含“元素”数组的“产品”列表: public class Product { Element[] elements; } pub
我是一名优秀的程序员,十分优秀!