当前位置: 首页 > 知识库问答 >
问题:

Hibernate 3 hql查询连接2表

梁丘书
2023-03-14

我想执行以下sql查询

SELECT * FROM users u JOIN `friendship` f ON u.id = f.f_uid WHERE f.u_uid = 118 AND u.lastDataFetched >= DATE_SUB(CURDATE(),INTERVAL 7 DAY)) order by f.mutual_friendship_count

如何使用hibernate 3.0为此编写hql查询

我是这样写的

String[] parameterName={"usersByUUid","inthepastday"};
Object[] paramValues = {user,"7"};
List<Friendship> friendshipFriend  = getHibernateTemplate().findByNamedParam(" from Users u JOIN Friendship f on  u.id = f.f_uid where f.u_uid = :usersByUUid and date_sub(now(),interval :inthepastday day) >=u.lastDataFetched  order by f.mutual_friendship_count ", parameterName,paramValues);

但它显示了hql语法错误

共有1个答案

陶睿
2023-03-14

>

和:日期7天前

另一种方法是使用Native查询,因此可以编写纯SQL。只需添加注释@NamedNativeQuery。然后通过getHibernateTemboard(). findByNamedQuery("nameOfYourNamedQuery")调用它;

 类似资料:
  • MongoDB提供了lookup操作,用于实现两个表的关联聚合,但聚合操作编写起来比较麻烦,而且不符合面向对象的思维。为简化开发,bugu-mongo提供了一个JoinQuery类,用于实现两个表的连接查询。 JoinQuery借鉴了SQL左连接的概念: 当前表为左表,被连接的表为右表; 通过指定左键、右键进行关联; 对于不存在关联的数据,只会返回左表的数据,右表的数据为null。 创建JoinQ

  • 我当前的代码: 但是我要一个java。lang.IllegalArgumentException。 我需要的是在用户表中显示一列。 类似于但是帐户实体没有只有User实体才有的getName()。 *更新 这就是错误所在 Java语言lang.IllegalArgumentException:在EntityManager中创建查询时发生异常:异常描述:语法错误分析查询[SELECT a Accou

  • 我正在使用hibernate为一个项目连接到我的数据库。 我想有一个查询,从我的数据库中获得产品与特定语言的描述和名称。我拥有的参数是该语言的简称,因此首先我必须获得该语言的id,然后获得所需语言的文本。 我尝试了下面的hql查询,没有成功。

  • 主要内容:1.内连接,2. 左连接 - LEFT JOIN,3. 右连接 - RIGHT JOIN,4. 全连接 - FULL JOIN顾名思义,连接(JOIN)表示要结合一些东西。 在SQL的情况下,连接(JOIN)表示“组合两个或更多表”。 在SQL中,子句用于组合数据库中两个或多个表的记录。 SQL JOIN的类型 内连接 - INNER JOIN 左连接 - LEFT JOIN 右连接 - RIGHT JOIN 全连接 - FULL JOIN 假设有以下几张表,EMPLOYEE 表的结构

  • 我创建了3个表:Employee、Department和EMPDept。 1)员工表字段为 我不知道在第三个表(即EmpDept)中包括哪些字段,以及如何将join应用于选择列 我的尝试

  • 我试图在JPA2中进行一些查询,但它不断调用另一个查询来获取依赖项的信息 我的课程是: 我把这样的查询称为: 但我的结果是: