java - 使用泛型查询

标签 java

使用泛型编写以下代码。

Session session = HibernateUtil.getHibernateSession();
CriteriaBuilder cb = session.getCriteriaBuilder();
CriteriaQuery<Item> cr = cb.createQuery(Item.class);
Root<Item> root = cr.from(Item.class);
cr.select(root);

Query<Item> query = session.createQuery(cr);
List<Item> results = query.getResultList();

最佳答案

基本解决方案:

public <T> List<T> findAll(Class<T> clazz){    
        Session session = HibernateUtil.getHibernateSession();
        CriteriaBuilder cb = session.getCriteriaBuilder();
        CriteriaQuery<T> cr = cb.createQuery(clazz);
        Root<T> root = cr.from(clazz);
        cr.select(root);

        Query<T> query = session.createQuery(cr);
        List<T> results = query.getResultList();
        return results;
    }

您可以将该函数调用为:

List<Item> items= findAll(Item.class);

关于java - 使用泛型查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62276907/

相关文章:

java - 请正确初始化log4j系统。在运行 Web 服务时

java - 使用 iText 5 或 7 将图像层添加到 pdf

Java - 如何随着时间的推移添加数字?

java - jframe 父级中的 Jpanel 火灾事件

java - java和javascript哪个性能更高?

java - 如何让三个数组相互关联

java - 从 IDE 运行 Spring Web 与从 jar 文件运行 Spring Web

java - 扫描仪不会扫描负数

java - 在JSP中获取Hibernate初始化对象

java - 在整个 Spring MVC/JSP 应用程序中显示导航栏