システムプロパティに基づいて、実行時にJPAプロバイダー(HibernateまたはEclipseLink)を選択する必要があります。
私が理解したことから、プロバイダー名はpersistence.xmlで指定する必要があり、コードでオーバーライドすることはできません。プロバイダー名が指定されていない場合、デフォルトではクラスパスの最初のプロバイダーが使用されます。もう1つの方法は、2つの異なるpersistence.xmlを使用し、システムプロパティの値に基づいてそのうちの1つをロードすることでした。ただし、これも可能ではないようです(代替の「persistence.xml」を使用するJPA)。
これを行う他の方法はありますか?