Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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 Ebean RawSql不允许在“中使用命名参数”;“在什么情况下”;条款_Java_Sql_Playframework_Ebean - Fatal编程技术网

Java Ebean RawSql不允许在“中使用命名参数”;“在什么情况下”;条款

Java Ebean RawSql不允许在“中使用命名参数”;“在什么情况下”;条款,java,sql,playframework,ebean,Java,Sql,Playframework,Ebean,我在使用Ebean RawSql查询时遇到了一个问题。这里有一个简单的例子 Finder<Long, Test> finder= new Finder<>(Test.class); String query = "SELECT t.ID AS t_id, t.NAME as t_name, (SELECT CASE WHEN t.NAME = :name THEN 1 ELSE 0 END) AS sort_priority FROM test ORDER B

我在使用Ebean RawSql查询时遇到了一个问题。这里有一个简单的例子

Finder<Long, Test> finder= new Finder<>(Test.class);

String query = "SELECT t.ID AS t_id, t.NAME as t_name, (SELECT CASE WHEN t.NAME = :name THEN 1 ELSE 0 END) AS sort_priority FROM test ORDER BY sort_priority";

RawSql raw = RawSqlBuilder.parse(query)
.columnMapping("t_id", "id")
.columnMapping("t_name", "name")
.columnMappingIgnore("sort_priority")
.create();
        
Query<Test> testQuery = finder.query().setRawSql(raw).setParameter("name", "Test1");
如果我使用?没有命名参数,一切正常。但是,我可以通过同时保留命名参数和“case-when”子句来修复它吗

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':name THEN 1 ELSE 0 END) AS sort_priority FROM test  ORDER BY sort_priorit' at line 1