问题标签 [jinq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
240 浏览

java - How to search Set using Jinq

I have collection Set<Tag> in my entity class. Tag class contains only Long id and String value. Im trying to find Place by Tag but im getting error Could not analyze lambda code

There is way to make it tight and elegant? I know that my code is incorrect, and im getting error because Jinq probably doesn't support something like this p.getTags().iterator().next().getName()

0 投票
1 回答
517 浏览

java - 是否可以使用谓词为 Jinq 创建查询时?

我的问题是关于 Jinq 的,我使用的是 1.8.9 版本,目前是最新版本。

我正在尝试使用 Jinq 以 Java 8 lambda(功能接口)谓词作为方法参数来实现通用的可重用 JPA(Java Persistence API)类型安全查询方法。

不幸的是,我不能使它与 Java 8 谓词一起使用,但我可以使用类似的谓词类型(由 Jinq 提供)作为方法参数,但希望避免在方法签名中依赖于 Jinq,因此更喜欢 Java 8如果可能,谓词?

Jinq 提供了功能接口“Where”:

我可以通过在方法签名中使用上述接口来实现我想要的查询方法(但具有不希望的耦合),如下所示:

我想使用标准 Predicate 代替方法签名中与 Jinq 的上述耦合,如下所示:

标准谓词定义如下:

因此,我认为可以使用以下代码来实现我想要的 select 方法,以创建 Jinq 接口的 lambda 实现:

但是,它不起作用,但会导致 IllegalArgumentException(请参阅下面粘贴的堆栈跟踪)

下面是更多代码,说明了我正在尝试做的事情。

我要说明的问题是我想在下面的方法“DataMapperBase.select2”中使用 Predicate 参数,而不是在下面的方法“DataMapperBase.select”中使用 Jinq 特定的 Where 参数。

上述两种方法(select 和 select2)都可以编译,但第二种方法在运行时失败,但出现以下异常;

错误消息表明它可能是 java.util.function.Predicate 没有实现 Serializable 的问题。(因为我示例中的 Person 实现了 Serializable)

不过,后来我尝试了另一个这样的界面:

当我改用它时,我得到了以下异常:

所以,我的问题是,是否有人可以提供上述方法“DataMapperBase.select2”的工作实现,即使用参数 java.util.function.Predicate 的方法?

0 投票
0 回答
876 浏览

spring - JPA 无法转换 PostgreSQL POINT 类型

我正在将现有的 Spring 项目转换为 JPA/Jinq。我的数据库列之一是使用 PostGIS 几何 POINT 类型。我将该列的表映射到一个名为 City 的实体。像这样的类:

我使用 EclipseLink 的逆向工程功能生成了这个类,但是该location字段最初Object是不可序列化的类型,所以我将其更改为PGpoint.

不幸的是,当我尝试使用此类时,出现以下错误:

我究竟做错了什么?

0 投票
0 回答
121 浏览

java - 如何从 Kotlin lambda 创建 Java SerializedLambda?

如果我有一个 Kotlin lambda,例如。

...我知道这可以传递给 Java Serializable 接口,例如:

但是,lambda 的实际类型不是 SerializedLambda。

是否可以从 Kotlin lambda 创建真正的 SerializedLambda?

(原因是为了兼容JINQ)

0 投票
1 回答
406 浏览

java - 没有左侧的 DOT 节点

我正在使用 jinq 版本 1.8.11 和休眠版本 4.3 使用休眠会话工厂而不是实体管理器。

我正在尝试以下查询:

当变量文本不存在时,查询有效,我得到结果。当变量文本存在时,我收到以下错误:

任何想法我做错了什么?

我已经调试了 jinq,它生成的查询如下所示:

谢谢