我有一个要求,以创建mongodb集合的租户特定。例如:我有一个名为audit_logs的集合,但我想用以下方式创建
租户:EAD集合:ead_audit_logs租户:GTC收集:gtc_audit_logs等等。
有人能帮我在微型机器人上做配置吗?
我正在使用microaut-data,并且在pojo/entity类中要完成的配置不起作用。
@Getter
@Setter
@MappedEntity
@Property(name = "#{@ThreadContext.get('tenant')}_audit_log")
public class AuditLog {
@Id
@GeneratedValue
private String id;
}
1条答案
按热度按时间iqxoj9l91#
您提供的代码无效,因为类实体上的
@Property
注解没有任何效果。要实现所需的结果,您可以为MongoCollectionNameProvider
接口提供自定义实现。示例:
在上面的例子中,我们覆盖了
MongoCollectionNameProvider
接口中的provide
方法。您可以将集合命名逻辑添加到此方法。并确保使用
@Primary
和@Singleton
注解该类。这将确保自定义实现覆盖默认bean DefaultMongoCollectionNameProvider。