Java 配置HikariCP+;冬眠+;运行时的GuicePersist(JPA)
我有一个java8桌面应用程序,使用GuicePersist、Hibernate和HikariCP与Postgres DB通信。我已经成功地让我的应用程序使用以下META-INF/persistence.xml向数据库发送/接收数据:Java 配置HikariCP+;冬眠+;运行时的GuicePersist(JPA),java,hibernate,jpa,hikaricp,guice-persist,Java,Hibernate,Jpa,Hikaricp,Guice Persist,我有一个java8桌面应用程序,使用GuicePersist、Hibernate和HikariCP与Postgres DB通信。我已经成功地让我的应用程序使用以下META-INF/persistence.xml向数据库发送/接收数据: org.hibernate.jpa.HibernatePersistenceProvider com.123fakestreet.bogus.坟墓.impl.postgres.model.movies 真的 棘手的部分是在运行时配置我的Guice模块。 据我所
org.hibernate.jpa.HibernatePersistenceProvider
com.123fakestreet.bogus.坟墓.impl.postgres.model.movies
真的
棘手的部分是在运行时配置我的Guice模块。
据我所知,我应该能够通过在映射对象中设置属性来覆盖META-INF/persistence.xml文件中的属性,如下所示:
Map<String, String> properties = new HashMap<>();
properties.put("myJPAunit.hibernate.hikari.dataSource.url", "jdbc:postgresql://192.168.100.75:5432/mpDb");
properties.put("myJPAunit.hibernate.hikari.dataSource.user", "cowboy");
properties.put("myJPAunit.hibernate.hikari.dataSource.password", "bebop");
Map properties=newhashmap();
properties.put(“myJPAunit.hibernate.hikari.dataSource.url”,“jdbc:postgresql://192.168.100.75:5432/mpDb");
properties.put(“myJPAunit.hibernate.hikari.dataSource.user”,“cowboy”);
properties.put(“myJPAunit.hibernate.hikari.dataSource.password”,“bebop”);
然后是jpaModule.properties(properties),然后将这一切传递给GuicePersist
我在地图上尝试了一些不同的财产名称组合,但到目前为止我没有运气。关于这个主题,我还查看了pgsimpledatasource文档和hikariCP文档,但仍然没有设置数据源属性
有人能帮忙吗?非常感谢。尝试从JPA属性中删除持久性单元名称,而不是:
Map<String, String> properties = new HashMap<>();
properties.put("myJPAunit.hibernate.hikari.dataSource.url", "jdbc:postgresql://192.168.100.75:5432/mpDb");
properties.put( + "myJPAunit.hibernate.hikari.dataSource.user", "cowboy");
properties.put( + "myJPAunit.hibernate.hikari.dataSource.password", "bebop");
Map properties=newhashmap();
properties.put(“myJPAunit.hibernate.hikari.dataSource.url”,“jdbc:postgresql://192.168.100.75:5432/mpDb");
properties.put(+“myJPAunit.hibernate.hikari.dataSource.user”,“cowboy”);
properties.put(+“myJPAunit.hibernate.hikari.dataSource.password”,“bebop”);
你应该有这个:
Map<String, String> properties = new HashMap<>();
properties.put("hibernate.hikari.dataSource.url", "jdbc:postgresql://192.168.100.75:5432/mpDb");
properties.put("hibernate.hikari.dataSource.user", "cowboy");
properties.put("hibernate.hikari.dataSource.password", "bebop");
Map properties=newhashmap();
properties.put(“hibernate.hikari.dataSource.url”,“jdbc:postgresql://192.168.100.75:5432/mpDb");
properties.put(“hibernate.hikari.dataSource.user”、“cowboy”);
properties.put(“hibernate.hikari.dataSource.password”、“bebop”);
最简单的方法可能是扩展、重载configure
方法,添加自己的属性并在persistence.xml
中设置自己的hibernate.connection.provider\u类!经过一点代码清理后,这就起作用了。谢谢。@Vlad Mihalcea如何使用guice persist JpaPersistModule为Hikari添加MetricsRegistry?