Спящий с java .time - PullRequest
       8

Спящий с java .time

0 голосов
/ 26 февраля 2020

Я использую Hibernate следующим образом:

 <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.2.12.Final</version>
 </dependency>

Я читал, что начиная с Hibernate 5.2, есть встроенная поддержка java .time.

Мое поле сущности по-прежнему java .util.Date, и я хотел найти объекты, используя LocalDateTime.

Однако я получаю исключение InvalidDataAccessApiUsageException с сообщением «Значение параметра [2020-02-26T00: 00] не соответствует ожидаемому типу java .util.date ".

Разве не предполагается автоматически преобразовывать LocalDateTime?

1 Ответ

1 голос
/ 27 февраля 2020

Разве не предполагается автоматически преобразовывать LocalDateTime?

Нет, за крышками нет магов c, которые приведут объект java.util.Date к java.time.LocalDateTime, или наоборот - автоматически .
Теперь вы можете вручную преобразовать объекты , но я бы не советовал этого делать. Рекомендуется использовать один и тот же тип данных на всех уровнях вашего приложения.

Sidenote: Имейте в виду, java.util.Date - это более старый класс, который не учитывает многие факторы (например, високосные годы). LocalDateTime, напротив, обладает гораздо большим количеством функций и очень надежен. Все зависит от сценария использования. Я предлагаю прочитать документацию для обоих классов, чтобы определить, какой из них больше подходит для вас. Кроме того, этот ответ отлично справляется со , сравнивая большинство типов даты и времени в Java

...