SQLException:Column Play Framework 中的 Ebean 和 rawSql 索引超出范围
SQLException:Column Index out of range with Ebean and rawSql in Play Framework
所以在找了一天之后,我仍然不明白我在这里做错了什么。我想 select 服务器中我的 table 实验室中的列名称包含 6 列,但我不断收到错误:"SQLException:Column Index out of range: 0, number of columns: 1"。有人熟悉这个吗?谢谢
这是我的代码:
String sql = "SELECT name FROM Laboratory";
RawSql rawSql = RawSqlBuilder
.parse(sql)
.create();
Query<Laboratory> query = Ebean.find(Laboratory.class);
query.setRawSql(rawSql).where();
List<Laboratory> results = query.findList();
results.sort(Comparator.comparing(Laboratory::getName)); // Sort by alphabetical order
try {
String json = JsonHelper.toJSON(results);
return ok(json).as("application/json");
} catch (JsonProcessingException e) {
LOG.error("Unable to serialize sql request", e);
return internalServerError();
}
好的,我找到了解决方案。事实证明,除了名称之外,我只需要获取 ID,否则 Ebean 就会丢失。最后这里是有效的 sql 请求:
String sql = "SELECT id, name FROM Laboratory";
所以在找了一天之后,我仍然不明白我在这里做错了什么。我想 select 服务器中我的 table 实验室中的列名称包含 6 列,但我不断收到错误:"SQLException:Column Index out of range: 0, number of columns: 1"。有人熟悉这个吗?谢谢 这是我的代码:
String sql = "SELECT name FROM Laboratory";
RawSql rawSql = RawSqlBuilder
.parse(sql)
.create();
Query<Laboratory> query = Ebean.find(Laboratory.class);
query.setRawSql(rawSql).where();
List<Laboratory> results = query.findList();
results.sort(Comparator.comparing(Laboratory::getName)); // Sort by alphabetical order
try {
String json = JsonHelper.toJSON(results);
return ok(json).as("application/json");
} catch (JsonProcessingException e) {
LOG.error("Unable to serialize sql request", e);
return internalServerError();
}
好的,我找到了解决方案。事实证明,除了名称之外,我只需要获取 ID,否则 Ebean 就会丢失。最后这里是有效的 sql 请求:
String sql = "SELECT id, name FROM Laboratory";