Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQLException:列索引超出了Play框架中的Ebean和rawSql的范围_Java_Playframework_Ebean - Fatal编程技术网

Java SQLException:列索引超出了Play框架中的Ebean和rawSql的范围

Java SQLException:列索引超出了Play框架中的Ebean和rawSql的范围,java,playframework,ebean,Java,Playframework,Ebean,所以在找了一天之后,我仍然不明白我做错了什么。我想在包含6列的服务器中选择表Laboratory中的列名,但我不断收到错误:“SQLException:列索引超出范围:0,列数:1”。有人熟悉这个吗?谢谢 这是我的密码: String sql = "SELECT name FROM Laboratory"; RawSql rawSql = RawSqlBuilder .parse(sql) .create(); Query&

所以在找了一天之后,我仍然不明白我做错了什么。我想在包含6列的服务器中选择表Laboratory中的列名,但我不断收到错误:“SQLException:列索引超出范围:0,列数: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();
    }
String sql=“从实验室选择名称”;
RawSql RawSql=RawSqlBuilder
.parse(sql)
.create();
Query=Ebean.find(Laboratory.class);
setRawSql(rawSql).where();
List results=query.findList();
results.sort(Comparator.comparing(Laboratory::getName));//按字母顺序排序
试一试{
字符串json=JsonHelper.toJSON(结果);
返回ok(json).as(“应用程序/json”);
}捕获(JsonProcessingException e){
LOG.error(“无法序列化sql请求”,e);
返回internalServerError();
}

好的,我找到了解决方案。结果是,我除了要取名字外,还得取身份证,否则埃宾就丢了。最后,这里是有效的sql请求:

String sql = "SELECT id, name FROM Laboratory";