简体   繁体   English

Java Hibernate HQL到Hibernate条件

[英]Java Hibernate HQL to Hibernate Criteria

I have a class that uses Hibernate HQL queries. 我有一个使用Hibernate HQL查询的类。 I would like to change these into Hibernate Criteria queries. 我想将它们更改为休眠条件查询。 However, Hibernate Criteria is a lot harder for me to understand than HQL, even with tutorials. 但是,即使有了教程,我也比HQL更难理解休眠标准。 Could someone show me how one of the queries would look like using Hibernate Criteria/Filters? 有人可以告诉我使用休眠标准/过滤器时查询之一如何吗?

Configuration configuration = new Configuration();
        configuration.configure().setProperty("hibernate.show_sql", "false");
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(
                                  configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(serviceRegistry);

Session session =sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery("from TABLENAME WHERE IDObject1= :idObjectA" +
              "AND IDObject2= :idObjectB AND IDSettingOption = :idSettingOption");
query.setParameter("idObjectA", idObjectB);
query.setParameter("idObjectB", idObjectB);
query.setParameter("idSettingOption", idSettingOption);

List results = query.list();

Thanks in advance! 提前致谢!

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

criteria.add( Restrictions.eq( "IDObject1" , idObjectB) );
criteria.add( Restrictions.eq( "IDObject2" , idObjectB) );
criteria.add( Restrictions.eq( "IDSettingOption" ,idSettingOption) );

List results = criteria.list();

Here you can read about Criteria API, it has a lot of examples: 在这里您可以阅读有关Criteria API的信息,其中包含许多示例:
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html

List results = session.createCriteria(Entity.class)
    .add(Restrictions.eq("IDObject1", idObjectA))
    .add(Restrictions.eq("IDObject2", idObjectB))
    .add(Restrictions.eq("idSettingOption", idSettingOption))
    .list();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM