我正在学习春季和休眠状态,我使用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);
答案 0 :(得分:1)
您正尝试使用方法而不是构造函数,因此不需要new
。
另外,如果您要对变量进行操作,则应该使用User.class或user.getClass()。
尝试以下操作。
DetachedCriteria criteria = DetachedCriteria.forClass(User.class);