如何正确创建实体在@PostConstruct?



我尝试在我的SpringBoot应用程序中创建@PostConstruct中的一些实体

@PostConstruct
void load() {
for (int i = 0; i < 10; i++) {
Item item = new Item();
item.setRating(Math.random());
imageList.add(new Image());
item.setImages(imageList);
itemRepository.save(item);
}

我有错误分离实体传递到持久:com.amr.project.model.entity.Image;

我试着添加@Transactional,但我发现@Transactional不能与@ postconstruct一起工作,而且它不起作用。

如何正确创建实体?

正如I_AM_PAUL所评论的,JPA实体不是Spring bean,所以@PostConstruct永远不会被调用。尝试使用@PreLoad JPA注释

@PreLoad
void load() {
for (int i = 0; i < 10; i++) {
Item item = new Item();
// And so on...
}

最新更新