【发布时间】:2014-04-24 23:23:24
【问题描述】:
eclipselink(或 Hibernate)中的租户是一个很好的概念,可以将数据域彼此分开。我正在将 eclipselink 与单表策略一起使用。
有时需要访问不止一个租户的数据(例如,出于管理目的)。有没有好的方法来实现这一目标? (我不想跑遍所有租户来收集数据……)
例子:
@Entity
@Multitenant
@TenantDiscriminatorColumn(name = "TENANT", contextProperty = "tenant.id")
public class TenantEntity {
...
我可以使用参数化实体管理器访问特定租户中的对象:
private static EntityManager newEntityManager(String tenant) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("tenant.id", tenant);
return emf.createEntityManager(map);
}
有没有方便的方法查询所有租户? (或者是持久化对象的身份只在单个租户中定义?)
【问题讨论】:
标签: java jpa eclipselink multi-tenant