fla*_*nze 5 java sql nosql orientdb
我正在尝试Category使用INSQL在SQL 查询中传递一个POJO 数组:
public ShareObject[] search(String name, Category[] categories) {
...
OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<ODocument>("SELECT FROM ShareObject WHERE name LIKE ? AND categories IN ?");
List<ODocument> result = db.command(query).execute(name, categories);
Run Code Online (Sandbox Code Playgroud)
这将返回一个空列表.如果我将SQL更改为以下内容,我会得到一个结果:
"SELECT FROM ShareObject WHERE name LIKE ? AND categories IN [#10:0,#10:1]"
我也试过这个,没有成功:
OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<ODocument>("SELECT FROM ShareObject WHERE name LIKE ? AND categories IN ?");
List<ODocument> result = db.command(query).execute(name, new String[] { "#10:0", "#10:1" });
Run Code Online (Sandbox Code Playgroud)
试试这个代码:
OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<ODocument>("SELECT FROM ShareObject WHERE name like ? AND categories IN (?)");
List<ODocument> result = db.command(query).execute(name,"[#10:0,#10:1]");
Run Code Online (Sandbox Code Playgroud)