我如何中止在扩展AbstractRepositoryEventListener的类的onBeforeSave注释的方法中保存实体?

问题描述 投票:0回答:1

我正在扩展AbstractRepositoryEventListener以便创建照片的md5哈希并将其与对象一起保存。

我想在出现异常的情况下完全放弃保存照片。

@Component
public class MyHandler extends AbstractRepositoryEventListener<Photo> {

    @Autowired
    PhotoService photoService;

    @Override
    public void onBeforeSave(Photo photo) {
        File originalPhoto = new File(foto.getUriOriginal());
        try {
            String hash = photoService.getHash(originalPhoto);
            photo.setHash(hash);
        } catch ( IOException | NoSuchAlgorithmException e ) {
            e.printStackTrace();
        }
    }
}
java spring repository-pattern
1个回答
0
投票

您可能会抛出RuntimeException的实例。它将使Spring回滚。

还有其他更全面的方法,您可以找到here的详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.