#java #hibernate #lambda #java-8
#java #переход в спящий режим #лямбда #java-8
Вопрос:
Ожидает ли Hibernate каких-либо изменений с момента появления Java 8? специально
-
Есть ли какой-либо способ писать запросы с лямбдами в спящем режиме? (т. Е. как в стиле .net Linq-to-SQL)
-
Если нет, то когда это произойдет (если это планируется).
например, что-то вроде этого:
User u1 = dbo.Users.firstOrDefault(f -> f.userId = 10);
List<User> users = dbo.Users.selectMany(w -> w.userId > 5);
Комментарии:
1. Библиотеки ORM обычно хотят, чтобы база данных выполняла запросы. Но нет способа перевести скомпилированные Java 8 lambda в SQL-запросы.
2. Я тоже ищу то же самое. Afaik, критерии Hibernate позволяют манипулировать полями только по их имени в виде строки, верно? Это главное, что я хотел бы видеть улучшенным
Ответ №1:
Я думал, что это тоже невозможно сделать. Но я видел Jinq http://www.jinq.org Они делают это для необработанных SQL-запросов.
database.customerStream().where(
customer -> customer.getName().equals("Alice"));
Итак, я думаю, это просто зависит от того, кто реализует ту же логику, которая используется в Jinq для объектов JPA, и генерирует запросы JPQL.
ОБНОВЛЕНИЕ: Они делают это и для JPA. http://www.jinq.org/docs/gettingstartedjpa.html
Комментарии:
1. получение 403 по вашей ссылке на Jinq
2. Исправлена ошибка 403, о которой вы упоминали