| This is a neat concept, my fear though is it is something that won't be used very much. In these situations, I often find it best to locate a middle ground where a feature behavior can be explored without impacting the core system. With HHH-13051 Closed , I think we can do what you ask but with a single strategy. The configured AuditStrategy is only ever instantiated once during bootstrap, so its possible that the strategy can use reflection build some structures that the strategy can use to know how to handle certain entity mappings later on. In short, treat the configured single AuditStrategy as a way to delegate to other strategies. In user code land, you could easily introduce custom annotation-markers that the global strategy inspects during bootstrap and when it finds a given annotation-marker, it adds an entry for that entity into a map to delegate to strategy X versus Y. This delegation would happen both for adding/extending tables but also for the perform operations. I think the side effect is this proves whether or not a multi-strategy setup would work; particularly when associations are involved between entities. What do you think? |