如何在没有 persistence.xml 文件的情况下使用 Java Melody、Spring 和 JPA

How to use Java Melody, Spring, and JPA without a persistence.xml file

如何使用 Spring 中配置的 JPA 配置 Java Melody,但不使用 persistence.xml 文件。注意:我是专门用eclipselink的。 java 旋律说明仅显示使用 persistence.xml 文件进行配置:https://code.google.com/p/javamelody/wiki/UserGuideAdvanced#JPA_monitoring

如果您将 Spring 与 JpaVendorAdapter 抽象一起使用,您可以创建自己的 Java Melody 启用供应商适配器。这是我为 eclipselink 创建的示例。注意:这表明 java 旋律可以在不使用 persistence.xml 文件的情况下进行配置。

/**
 * This is a copy of the 
 * {@link org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter} 
 * but using the Java Melody PersistenceProvider.
 */
public class MonitoringEclipseLinkJpaVendorAdapter 
        extends AbstractJpaVendorAdapter {
    private final PersistenceProvider persistenceProvider;
    try {
        persistenceProvider = (PersistenceProvider) 
            Class.forName("net.bull.javamelody.JpaPersistence").newInstance();
    } catch(ClassNotFoundException|InstantiationException|
            IllegalAccessException e) {
        throw new RuntimeException(e);
    }
    //...snip - the rest is the same as the EclipseLinkJpaVendorAdapter class...
}