最近的业务需求,要为所有的数据表添加一个belongId,只有数据所属人才允许操作这条数据。
目前的想法是写一个BelongBean,所有的entity都继承,更新程序进行统一查找后进行字段添加。
以上为背景。
现在要对所有的业务操作,查询另外考虑,主要是增删改。
即在维护实体bean时要校验belongId。
目前的方法是在BelongBean中使用
@PrePersist
@PreRemove
@PreUpdate
public void check() {
if (getBelongId != Utils.getUser().getId()) {
throw.......
}
}
但是发现一个问题,那就是抛出的异常无法自己定义
被被捕获后抛出
"Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Error while committing the transaction"
请问如何抛出自定义异常。或是有更好的处理方式。
如果可以,我更希望能将校验添加在逻辑层面,而不是数据库层面!