Deprecated createCriteria method in Hibernate 5

后端 未结 4 940
陌清茗
陌清茗 2020-11-29 02:11

This calling is deprecated:

session.createCriteria(Bus.class).list();

In source files I can see this:

/** @deprecated */
@D         


        
4条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-11-29 02:48

    Adding Answer as of March 2018.

    Dependencies:

    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.boot.MetadataSources;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.service.ServiceRegistry;
    
    import javax.persistence.criteria.CriteriaQuery;
    import java.util.List;
    
    
    
    public static List fecthAllContacts() {
            Session session = sessionFactory.openSession();
    
            // create Criteria
            CriteriaQuery criteriaQuery = session.getCriteriaBuilder().createQuery(Contact.class);
            criteriaQuery.from(Contact.class);
    
            List contacts = session.createQuery(criteriaQuery).getResultList();
            session.close();
    
            return contacts;
        }
    

    while the sessionFactory is:

    public static SessionFactory buildSessionFactory() {
            final ServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();
            return new MetadataSources(registry).buildMetadata().buildSessionFactory();
        }
    

提交回复
热议问题