Спецификация Spring JPA - создание простого предложения SQL Where-Clause - PullRequest
0 голосов
/ 04 августа 2020

у нас есть код Spring Hibernate, который генерирует объект спецификации данных Spring JPA. Это хорошо работает (мы можем использовать объект Specification для таких вещей, как подсчет). Есть ли способ каким-то образом получить простой SQL where-clause из объекта спецификации?

Текущий код:

// The line below builds the spec based on business logic. Won't go in the details here, but it is working.
Specification<Crash> querySpec = buildQuerySpec(query);
long count = myDataRepository.count(querySpec);

// Here is what I need: a simple plain T-SQL / Microsoft SQL Server where-clause to be used on other disconnected systems. So something like this:
String whereClause = query.Spec.getPlainSQLWhereClause(...); // e.g. weather in ("raining", "cold") and year in (2014, 2015)

Причина: объект спецификации (и связанный с ним репозиторий ) используются в основной системе. Теперь у нас есть другие полностью отключенные / отдельные корпоративные системы (система Esri GIS), в которых ее API-интерфейсы могут использовать только простой SQL where-clause.

PS Я знаю, что кода для работы не так много, поэтому некоторые указатели Мы будем очень признательны за / guides.

...