hibernate - 如何使用 Hibernate 比较两个不同表中的字段?

标签 hibernate hql

我需要使用 Hibernate 查询比较 2 个不同表中的字段。

表A有一个由sectionId组成的字段(例如1900)。

表B有一个由userId/sectionId组成的字段(例如e1230-12w11-3ewq-qg22-34qa/1900)。

我需要从表B中提取sectionId并将其与表A中的sectionId进行比较,以便我可以为新表构建一行。我还需要从表 B 中提取 userId 并将其用作该新行的一部分。

hql有能力部分比较字段吗?

最佳答案

我认为你可以使用JPQL functions来做到这一点:SUBSTRINGLOCATE

LOCATE 将能够定位输入字符串中的特定字符并返回它的位置。
然后您应该能够使用 SUBSTRING 根据 LOCATE 返回的索引仅返回字符串的一部分。

关于hibernate - 如何使用 Hibernate 比较两个不同表中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8148549/

相关文章:

java - 如何使用hibernate动态添加列

hibernate - 数据库ID递增一个以上

java - ClassCastException : org. springframework.orm.jpa.EntityManagerHolder 无法转换为 org.springframework.orm.hibernate5.SessionHolder

java - Hibernate char 列枚举

java - 使用标准时出现 hibernate 错误

使用 Int 的 Java jSF NamedQuery

java - 如何在 JPQL 或 HQL 中进行限制查询?

java - 单元测试在标记为 @Transactional 时通过,但在未标记为 @Transactional 时失败

mysql - Hibernate HQL - 从今天开始获取下一个日期的实体

java - 同一类中的HQL多对多查询