【发布时间】:2014-04-18 03:31:11
【问题描述】:
我正在考虑审计和过滤 JPA 实体属性和字段的最佳方法
我的问题是考虑是否存在过滤结果的接口或事物
例如,我有一个具有管理员角色的用户和另一个具有卖方角色的用户,两者都可以进行查询,但不是都可以读取和写入所有属性。为了编写过滤器,我想用线程属性制作一个拦截器来了解当前线程的作用。但在查询中我不知道要过滤的属性是什么。
例子
EntityManager em = ...
Query q = em.createQuery ("SELECT AVG(x.price) FROM Magazine x");
Number result = (Number) q.getSingleResult ();
拦截方法的结果是一个整数,但是如何知道实体是什么以及要读取的属性是什么。
对于具有卖家角色的用户,价格必须显示 但是对于具有管理员角色的用户,价格必须为NULL(假设管理员看不到价格)
是否存在一些使用 JPA 或 Hibernate 来执行此操作?我提出了一个问题......听听一些想法。
谢谢,
【问题讨论】: