我已经使用DAO方法访问数据库并根据STATUS = TECHERROR获取结果。示例代码为 -
public void loadTable() {
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<MyDTO> criteriaQuery = criteriaBuilder.createQuery(MyDTO.class);
Root<MyDTO> dashBoard = criteriaQuery.from(MyDTO.class);
ParameterExpression<String> p = criteriaBuilder.parameter(String.class);
criteriaQuery.select(dashBoard).where(criteriaBuilder.equal(dashBoard.get("status"), p));
TypedQuery<MyDTO> query = entityManager.createQuery(criteriaQuery);
query.setParameter(p, "TECHERR");
List<MyDTO> MyDtoList = query.getResultList();}
这工作得非常好。现在我只想获取200行/记录。
我尝试了此stackoverflow link
提供的解决方案但它不起作用。 错误的片段是 -
引起:org.hibernate.exception.SQLGrammarException:无法提取ResultSet 在org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:82) 在org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) 在org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
请帮我找到实现此功能的方法。