java - Hibernate - 如何使用 CLAUSES 进行查询?

标签 java spring hibernate

我正在寻找 Hibernate Spring 代码来插入、删除更新和选择数据。在阅读本教程时,我不明白如何在 Hibernate 中获取、更新、插入数据等。我从这里得到了教程http://mkyong.com/hibernate/hibernate-criteria-examples

public static List getStockDailyRecordCriteria(Date startDate,Date endDate,
        Long volume,Session session){

    Criteria criteria = session.createCriteria(StockDailyRecord.class);
    if(startDate!=null){
        criteria.add(Expression.ge("date",startDate));
    }
    if(endDate!=null){
        criteria.add(Expression.le("date",endDate));
    }
    if(volume!=null){
        criteria.add(Expression.ge("volume",volume));
    }
    criteria.addOrder(Order.asc("date"));

    return criteria.list();
  }

这里好像是选择数据,但是没有SELECT查询。我们如何知道它正在从数据库中检索数据?

我也从这里得到了这个代码http://codejava.net/frameworks/spring/spring-4-and-hibernate-4-integration-tutorial-part-1-xml-configuration这似乎获取了数据,但我不明白表名和使用的查询在哪里?

@Override
    @Transactional
    public List<User> list() {
        @SuppressWarnings("unchecked")
        List<User> listUser = (List<User>) sessionFactory.getCurrentSession()
                .createCriteria(User.class)
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();

        return listUser;
    }

如何在数据库中更新、删除、插入数据? 如何使用 WHERE、ORDER BY、GROUP BY、HAVING、COUNT 等条件来获取、删除、更新、插入数据?

最佳答案

假设 StockDailyRecord 类映射到数据库中的表 stockdailyrecord

Criteria criteria = session.createCriteria(StockDailyRecord.class);

这里就像一个 select 语句,这个 Criteria 充当 select * from stockdailyrecord

然后在此条件中添加一些条件

criteria.add(Expression.ge("date",startDate));

这里就像 date >= startDate

criteria.add(Expression.le("date",endDate));

这里就像日期 <= endDate

criteria.addOrder(Order.asc("date"));

按升序对记录进行排序 ORDERBY criteria.addOrder 、 GROUP BY criteria.add(Projections.groupProperty("someColumn"))、COUNT criteria.add(Projections.count("someColumn") ))

参见this链接会有帮助

关于java - Hibernate - 如何使用 CLAUSES 进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31958365/

相关文章:

java - Spring MVC @Controller 拦截自己的请求

java - 执行 UTF-8 Base64 编码/解码 Java 后出现奇怪的字符

java jframe和ImagePanel之间的差距

java - 如何将结构作为参数传递给 java 函数或从 jni 返回 java

spring - 我们可以在 Spring MVC Controller 中动态更改 SSL 证书吗?

java - 异常 : org. hibernate.SessionException: session 已关闭

java - Spring JPA OneToOne FK 作为 PK Cascade.Remove

java - org.springframework.beans.factory.BeanCreationException : NoClassDefFoundError: Could not initialize class org. hibernate.ann

java - 将文本中的数据加载到不同的字符串中

java - 加密类加载器