Spring Data Repository处理null结果或实体读取权限

时间:2015-11-18 22:33:08

标签: java spring hibernate spring-data spring-data-jpa

我设法让Spring Data JPA启动并运行我当前的项目。到目前为止,一切都进展顺利。

我想知道,有没有办法在实际的Repository / Base存储库实现中处理Spring Data Repository响应? (或者也许在拦截器中?)

例如:我需要检查是否从我的存储库方法返回了任何结果,如果不是这样的话就抛出异常: (最好保留Spring数据的魔力,而不必实现每个存储库方法)

public interface MyRepository<T,ID> extends CrudRepository<T,ID> {
    List<T> findByName(String name);
}

在这种情况下,如果结果List<T>为空/空,我想抛出异常。

示例2:我需要检查读取权限,以确保我有权从数据库中读取请求的对象。同样的事情在这里,我想检查/拦截存储库结果,并根据我的上下文找出实体实例是否是正确的实例。 (出于安全原因)

TL; DR 是否有任何方法可以拦截&#34; /从存储库方法检查生成的实体/列表,而无需实现所有魔术findBy...方法所有存储库?也许在基础存储库实现中或通过某种拦截器?

此致

编辑我在this particular SO question看到了答案,我想知道是否有另一种方式,这并不涉及使用自定义实施MethodInterceptor? 此致

0 个答案:

没有答案