以下是我的代码段:

ApplicationContext ctx = new ClassPathXmlApplicationContext(
                    "classpath*:META-INF/spring/applicationContext*.xml");
            JpaTransactionManager jpatm = (JpaTransactionManager) ctx
                    .getBean("transactionManager");
            EntityManager em = jpatm.getEntityManagerFactory()
                    .createEntityManager();
String sqlQuery = "SELECT suc FROM SubUsrCont suc, UDMap uDMap WHERE suc.userid = uDMap.userid AND uDMap.parentuserid = :parentuserid";
TypedQuery<SubUsrCont> query = (TypedQuery<SubUsrCont>) em.createQuery(sqlQuery, SubUsrCont.class);
query.setParameter("parentuserid", parentid);
ArrayList<SubUsrCont> listContent = (ArrayList<SubUsrCont>) query.getResultList();


但是,无论何时执行,我都会收到以下错误:

[http-8080-1] ERROR org.hibernate.hql.PARSER - line 1:92: expecting OPEN, found '.'


有人可以帮忙吗???

最佳答案

好吧,我找到了它并成功地对其进行了测试。这是由于我的POJO软件包名称。以前是in.myproject.myname。我将其更改为com.myproject.myname。 HQL正在接受SQL关键字IN,并正在寻找OPEN'('。

关于java - 执行查询时 hibernate 异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14352382/

10-09 04:06