簡體   English   中英

休眠-如何使用CLAUSES查詢?

[英]Hibernate - How to query using CLAUSES?

我正在尋找要插入,刪除更新和選擇數據的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);

在這里,就像選擇語句一樣,此條件充當stockdailyrecord中的select *

然后將一些條件添加到此條件

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

這里像日期> = startDate

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

這里像日期<= endDate

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

要按升序對記錄進行排序ORDERBY 條件 .addOrder,GROUP BY 條件.add(Projections.groupProperty(“ someColumn”)) ,COUNT條條件.add(Projections.count(“ someColumn”))

看到鏈接將有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM