我在MarkLogic服务器中有JSON文件:
<?xml version="1.0" encoding="UTF-8"?>
<json type="object" xmlns="http://marklogic.com/xdmp/json/basic">
<com.search.ex.Person type="object">
<name type="object">
<com.search.ex.Name type="object">
<firstName type="string">John</firstName>
<lastName type="string">Doe</lastName>
</com.search.ex.Name>
</name>
<gender type="string">MALE</gender>
<age type="number">27</age>
<birthplace type="string">Albany, NY</birthplace>
<ssn type="string">123-45-6789</ssn>
</com.search.ex.Person>
</json>
我正在尝试搜索记录是否存在'出生地'为'notpresent',这里不是:
PojoRepository<Person, String> repo = client
.newPojoRepository(Person.class, String.class);
repo.search(qb.value("birthplace", "notpresent"), 1);
虽然出生地不匹配,但它返回一条记录。
在Person.java中,class age被定义为private String birthplace; ..
这里出了什么问题......
答案 0 :(得分:3)
@Goel,看起来您正在使用MarkLogic Server 7.0(ML7)。我可以告诉你,因为你看到<json type="object" xmlns="http://marklogic.com/xdmp/json/basic">
只在ML7中,因为MarkLogic 8.0(ML8)存储了原生JSON。 PojoQueryBuilder和所有java-client-api版本3.x仅与ML8兼容。你能用ML8再试一次吗?