Spec implementers need to access the persistent attribute values (and/or maybe other things). Under the JPMS system, this usually requires users to add corresponding opens directives to their module info:
opens my.package.with.entities to some.jakarta.persistence.implementation.provider.module;
Changing providers(implementations) also requires changing these open directives. The suggestion is to let users declare the directives for the spec module and spec module can then relay them to the implementor:
opens my.package.with.entities to jakarta.persistence;
An implementation idea of this for Jakarta Validation:
Spec implementers need to access the persistent attribute values (and/or maybe other things). Under the JPMS system, this usually requires users to add corresponding
opensdirectives to their module info:Changing providers(implementations) also requires changing these open directives. The suggestion is to let users declare the directives for the spec module and spec module can then relay them to the implementor:
An implementation idea of this for Jakarta Validation: