java - 如何使用hibernate连接两个表

标签 java mysql hibernate

我想使用 HQL 或 Criterial 连接两个表

表格是

  • 购物车表(cartId,bookid,customeremailid,quantity)
  • 图书表(bookId,bookName,bookPrice,bookQuantity)

我的sql查询是这样的

select count(c.cartId) as cartId,b.bookName as bookName,c.customeremailid as customeremailid,sum(b.bookPrice)as c.price,c.quantity from Book b,Cart c where  c.customeremailid='"+customeremailid+"' and b.bookId=c.bookid

这将给出 cartId 的计数和 bookPrice 的总和

我将此结果存储到 List<Cart>

以下是 cart POJO变量

private int bookid,cartId;
    private String customeremailid,bookName,bookDescription,image;
    private int quantity;
    private long price;

HQL 查询:

String sql="select count(c.cartId) as cartId,b.bookName as bookName,c.customeremailid as customeremailid,sum(b.bookPrice)as price,c.quantity from Book b,Cart c where  c.customeremailid='"+customeremailid+"' and b.bookId=c.bookid";
             Query q=s.createSQLQuery(sql);
             Cartlist=q.setResultTransformer(Transformers.aliasToBean(Cart.class)).list();


             for(Cart c :Cartlist)
             {
                 System.out.println("in cart : "+c.getCartId());
                 System.out.println("in cart : "+c.getPrice());
             }

我不知道如何在 Hibernate 中执行此操作

请建议 谢谢

最佳答案

使用下面的 hibernate Criteria 示例代码加入:

List cats = sess.createCriteria(Cat.class)
    .createAlias("kittens", "kt")
    .createAlias("mate", "mt")
    .add( Restrictions.eqProperty("kt.name", "mt.name") )
    .list();

引用:https://docs.jboss.org/hibernate/orm/3.5/reference/en/html/querycriteria.html#querycriteria-associations

关于java - 如何使用hibernate连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052753/

相关文章:

java - 在java中实现复制/粘贴操作

mysql - LEFT JOIN 或 INNER JOIN 从一个表中查找第二个表中的项目

java - Mysql 多数据库插入(Java,Hibernate,Jboss)

java - 在Spring AOP中使用@JoinPoint调用Method.invoke()时“对象不是声明类的实例”

java - Win32 STD_INPUT_HANDLE/ReadConsoleInput : How to write to it from Java?

java - 有关编程语言(特别是 Java)历史的资源

MYSQL EXTRACTVALUE 与 "<"小于运算符返回 NULL?

mysql - Laravel - 提高大数据(800 万行以上)查询读取性能的可能解决方案

java - 如何从 Java JPA 环境调用 CREATE MATERIALIZED VIEW 语句?

java - 如何使用 hibernate 或 jpa 动态生成实体集合?