Есть статический метод с именем «forClass» в классе «DetachedCriteria», но я не могу его использовать - PullRequest
0 голосов
/ 20 мая 2019

Я изучаю Spring и Hibernate, я использую IDEA для редактирования своего проекта, в котором говорится, что не удается разрешить символ 'forClass' в "критериях DetachedCriteria = new DetachedCriteria.forClass (user.class);"。

Iиспользовать Spring 5 и Hibernate 5, я пытался Lnvalidate ловит и проверяет свою зависимость , но это бесполезно ut, но я нахожу метод в его исходном коде;

это часть моего 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 Ответ

1 голос
/ 20 мая 2019

Вы пытаетесь использовать метод вместо конструктора, поэтому вам не нужно new.

Кроме того, вы должны использовать User.class или user.getClass (), если вы делаете это для переменной.

Попробуйте следующее.

DetachedCriteria criteria = DetachedCriteria.forClass(User.class);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...