#oracle #spring-boot #hibernate #jpa
#Oracle #весенняя загрузка #переход в спящий режим #jpa
Вопрос:
В моем проекте SpringBoot я пытаюсь вставить ZonedDateTime
значение в базу данных Oracle, где тип столбца указан как TIMESTAMP WITH TIMEZONE
. Когда я это делаю, вставленное значение преобразуется в часовой пояс JVM и вставляется. Однако я ожидаю вставить значение в ZonedDateTime
свойство таким, какое оно есть.
Например, если ZonedDateTime
значение установлено на 2020-05-16T12:12:24 02:30[US/Denver]
, то я ожидаю записать в БД то же значение и прочитать из БД то же значение. Могу ли я каким-либо образом сделать это с помощью Hibernate и JPA
@Entity
class MyEntity{
ZonedDateTime myDateTimeWithTimeZone;
}
@Repository
public interface MyRepository extends JpaRepository<MyEntity, Long>
{
}
Вот как я собираюсь это использовать,
MyEntity myEntity = new MyEntity();
myEntity.setMyDateTimeWithTimeZone(ZoneDateTime.now('US/Denver')) // This timezone can be anything depending on userInput
myRepository.save(myEntity);
Комментарии:
1. как вы делаете вставку?
timestamp with time zone
по умолчанию, когда зона не указана, получает значение сеанса на стороне клиента.2. Я обновил свой вопрос с использованием