Мы создали общий поисковый клиент для проекта, над которым я работаю.
Это простой поисковый плагин, который позволяет нам искать свойства объекта.
например:
public class Movie {
private String id;
private String director;
private String title;
//set-getters
}
Если нам нужно найти конкретный фильм, мы можем сделать что-то вроде:
movie.title='some title'
movie.title='some title' and director='bob'
Если в какой-то момент времени мы добавим свойство X.
Мы можем сделать:
movie.X='Y'
Без каких-либо изменений кода в нашем поисковом решении.
Это работает очень хорошо для нас (для основного поиска), но теперь я столкнулся с проблемой. У одного из наших объектов есть свойство, называемое «свойствами», и когда мы пытаемся найти его, выдается сообщение об ошибке.
"org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: generatedAlias1 near line 1, column 149 [select generatedAlias0 from N as generatedAlias1, S as generatedAlias0 where ( N.properties is null ) and ( N.id=S.node )]
Сгенерированный запрос работает, если я запускаю его в своей локальной БД, когда я использую конечную точку поиска, он не выполняется. Свойства - это строковое поле в сущности и VARCHAR в БД.
Есть идеи, что пошло не так?