JPAで接続しているデータベースの種類を動的に識別する方法


JPA(EclipseLink)を使って、SQLServer/Oracle/PostgreSQLのいずれでも利用できるJavaEEアプリケーションを作っています。  
その中で、どうしても上記3種を区別して処理を分ける必要が生じました。  
どうやったらアプリケーション上から動的に検出できるのか、何か方法はあるでしょうか？




動作確認してませんが、こんな実装で取得した`databaseProductName`で判別できないでしょうか。

[code]

    java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
    String databaseProductName = connection.getMetaData().getDatabaseProductName();
    
[/code]




動作確認してませんが、こんな実装で取得した`databaseProductName`で判別できないでしょうか。

[code]

    java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
    String databaseProductName = connection.getMetaData().getDatabaseProductName();
    
[/code]

