我尝试在我的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...
}