java - Hibernate HQL 中的完全加入

标签 java hibernate join hql

我正在尝试使用 HQL 对两个表的特定列使用 FULL JOIN

List<B> expiredMacs = getHibernateTemplate()
                .find("from B b join A a where b.type != 'USER' and (b.id != a.id or (b.name == a.name and b.value != a.value))");

但它在第 1 行第 325 列附近抛出错误意外 token :=

知道出了什么问题吗?

在 SQL 中

SELECT B.* FROM  B b, A a WHERE b.type != 'USER' AND (b.id != a.id or (b.name == a.name and b.value != a.value))

最佳答案

据我所知,==不允许,您应该使用 = 。请参阅HQL documentation .

!=允许,但最好使用 <>因为它更接近标准 SQL。

关于java - Hibernate HQL 中的完全加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15020837/

相关文章:

java - 使用 JPA 查询注释更新查询至 Oracle 11g 挂起

java - Liquibase 不基于 JPA 实体创建 diff 变更日志

sql - Postgres 通过多个连接创建表

android - 如果特定列值重复,则行并集

java - 使用java更新单列的mysql数据

java - Spring 安全和 Thymeleaf 不起作用

mysql - 无法添加或更新子行 : a foreign key constraint fails. 映射多个 onetoone 引用的最佳做法是什么

java - 为什么 log4j 重命名文件名?

java - 如何在 Java 中运行 Socket.IO 客户端-服务器

php - 如何根据另一个表的列从一个表中选择列?