gpt4 book ai didi

mongodb - 无法创建对具有 NULL id 的对象的引用 mongo hibernate-mongo 和 spring boot

转载 作者:可可西里 更新时间:2023-11-01 10:46:06 24 4
gpt4 key购买 nike

我正在使用 spring data(spring boot ) 和 mongodb 。我有这两个 实体

@Document(collection = "users")     
public class UserEntity {
private String email;
@DBRef
private DeviceEntity device;
}

@Document(collection = "device")
public class DeviceEntity {
private String name;
}

and I am creating the first object of device then setting it to user
entity. Now i will save user entity.



DeviceEntity Device = new DeviceEntity();
device.setName("demo");

UserEntity user = new UserEntity();
user.setEmail("demo@gmail.com");
user.setDevice( device );
userRepo.save( user );

然后我得到了这个错误:

"Cannot create a reference to an object with a NULL id.] with root cause org.springframework.data.mapping.model.MappingException: Cannot create a reference to an object with a NULL id mongo hibernate."

谁能解释一下我们如何使用设备实体存储用户实体。如果我先保存设备实体并设置为用户实体,我工作正常,但我只想保存用户实体,它会自动保存设备实体。

最佳答案

发生这种情况是因为 hibernate 无法获取 ID,因为它尚未创建,因此您需要先将设备保存到数据库,然后将其设置到用户实体中。

类似下面的内容。

B b = new B();
mongoOperations.save(b);

A a = new A();
a.setB(b)
mongoOperations.save(a);

关于mongodb - 无法创建对具有 NULL id 的对象的引用 mongo hibernate-mongo 和 spring boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51943411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com