Переход в спящий режим и java 8 lambda

#java #hibernate #lambda #java-8

#java #переход в спящий режим #лямбда #java-8

Вопрос:

Ожидает ли Hibernate каких-либо изменений с момента появления Java 8? специально

  1. Есть ли какой-либо способ писать запросы с лямбдами в спящем режиме? (т. Е. как в стиле .net Linq-to-SQL)

  2. Если нет, то когда это произойдет (если это планируется).

например, что-то вроде этого:

 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, о которой вы упоминали