Spring-data-mongodb保存不同时区的localdatetime

mspsb9vt  于 2023-04-20  发布在  Spring
关注(0)|答案(1)|浏览(308)

我有一个spring Boot 应用程序,它使用spring-boot-starter-data-mongodb(2.7.7)与本地mongodb(v6)链接。我有两个不同的类(带有LocalDateTime属性),它们Map两个不同的集合;我的问题是,这两个类的LocalDateTime属性被保存,就像它们来自相应的mongo集合中的不同时区一样。

头等舱/收藏

班级

@Document("CollectionOne")
public class ClassOne{
@Id
private String id;
private LocalDateTime dataChiamata;

回购

public interface ClassOneRepo extends MongoRepository<ClassOne, String>{}

储蓄

classOneRepo.save(obj1);

Obj1.dataChiamata(来自调试器)

MongoDb CollectionOne:Java的日期相同

第二类/集合

班级

@Document("CollectionTwo")
public class ClassTwo{
@Id
private String id;
private List<LocalDateTime> giorniLetti;

回购

public interface ClassTwoRepo extends MongoRepository<ClassTwo, String> {}

储蓄

classTwoRepo .save(obj2);

Obj2.giorniLetti.get(0)(来自调试器)

MondoDB CollectionTwo:一小时前尊重Java

我不明白为什么这两个日期在数据库中以不同的方式保存,尽管它们是完全相同的java对象;有什么建议吗?

wgxvkvu9

wgxvkvu91#

我也面临着同样的问题,但在我的例子中,当我试图保存一个带有本地时区(欧洲/罗马)日期的对象时,MongoDB将其保存为UTC。
我的代码:

我的目标:

MongoDB对象:

有没有办法解决这个问题?

相关问题