类“ DetachedCriteria”中有一个名为“ forClass”的静态方法,但是我不能使用它

时间:2019-05-20 11:54:43

标签: java hibernate

我正在学习春季和休眠状态,我使用IDEA编辑我的项目,该项目表示“ DetachedCriteria条件= new DetachedCriteria.forClass(user.class);”中的符号'forClass'无法解析。。

我使用Spring 5和Hibernate 5,试图对捕获进行Lnvalidate并检查我的依赖关系,但这没有用。但是我在其源代码中找到了该方法;

这是我pom.xml的一部分

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.4.1.Final</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
    <dependency>
        <groupId>org.hibernate.validator</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>6.0.16.Final</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-annotations -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.5.6-Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.4.1.Final</version>
    </dependency>

这是我使用的地方:

    ApplicationContext applicationContext=(ApplicationContext) this.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
    userDao ud = (userDao) applicationContext.getBean("userDao");
    **DetachedCriteria criteria = new DetachedCriteria.forClass(user.class);**
    criteria.add(Restrictions.eq("name",a));
    int id  = 0;
    List<?> l = ud.getHibernateTemplate().findByCriteria(criteria);

image1

image2

1 个答案:

答案 0 :(得分:1)

您正尝试使用方法而不是构造函数,因此不需要new

另外,如果您要对变量进行操作,则应该使用User.class或user.getClass()。

尝试以下操作。

DetachedCriteria criteria = DetachedCriteria.forClass(User.class);