2

我正在开发一个基于 vert.x 平台的简单 CRUD 应用程序。我将 Rhino/JavaScript 用于后端部分,这允许我使用 Java 类。所以,Hibernate 是我的 ORM。我使用“动态映射”作为实体模式,它允许我使用 HashMaps 而不是 Java 类来处理持久对象。

问题是如何在这个架构中实现实体/行级访问控制。

我读过一些关于拦截器的东西,但我没有得到如何在那里过滤不允许的内容(抛出异常?)。使用过滤器也是一种选择,但据我所知,我只能控制查询,而不是持久化它们。

我现在找到的唯一解决方案是在预处理/后处理期间过滤数据,但我担心这可能是那里的性能瓶颈。

4

1 回答 1

0

好吧,如果您的数据是绝对独立的,那么 hibernate 4.1 具有多租户支持 (http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch16.html)。但是,如果不是这种情况,我建议同时使用拦截器(在持久化数据之前标记数据)和过滤器(只查询你应该看到的数据)

于 2012-09-03T14:41:27.323 回答