我正在尝试使用spring数据JPA来实现以下内容Link 1,Link 2。
我不幸地尝试了很多次,每次都失败了,所以我想让我们向朋友们提问,也许你们可以帮助我摆脱这个问题。
实际上,我每次都会收到以下错误,
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logExceptions(SqlExceptionHelper.java:127) [jdbc.spi.SqlExceptionHelper] [main] SQL Error: 17006, SQLState: null
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logExceptions(SqlExceptionHelper.java:129) [jdbc.spi.SqlExceptionHelper] [main] Invalid column name
我在JPA存储库中的代码是: -
String QUERY = "select * from ( select"
+ " student_id, student_activity_id, student_type_id, LEVEL,"
+ " SYS_CONNECT_BY_PATH(student_id, '/') \"Path\"" + " FROM student"
+ " where student_type_id = 1" + " START WITH student_id = ?1"
+ " connect by NOCYCLE PRIOR student_activity_id = student_id order by level desc"
+ ") a where rownum = 1";
@Query(nativeQuery = true, value = QUERY)
Student getNextStudent(Long parentStudentId);
注意 - 上面提到的SQL查询在数据库中完美执行。
答案 0 :(得分:0)
如果没有看到您的Student实体和定义的映射以及Student表的布局,这很难回答。通常,如果您在实体中映射了更多列,然后尝试在本机查询中返回,我就会看到此类问题。原因是hibernate仍会尝试映射实体中映射的其他列,但它无法在本机查询返回的结果集中找到列名。检查您的实体映射以及查询中返回的列。