这是hibernate.cfg.xml中的内容
<hibernate-configuration> <session-factory> <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</property> <property name="hibernate.connection.charSet">UTF-8</property> <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> <property name="connection.driver_class">org.postgresql.Driver</property> <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> <property name="connection.pool_size">1</property> <property name="show_sql">true</property> <property name="hibernate.use_outer_join">true</property> <property name="current_session_context_class">thread</property> </session-factory> </hibernate-configuration>
另外,我正在动态覆盖某些属性…
Configuration config = new Configuration().configure("path_to_hibernate.cfg.xml"); config.setProperty("hibernate.connection.url", System.getenv("HEROKU_POSTGRESQL_MYCOLOR_URL")); config.setProperty("hibernate.connection.username", "***"); config.setProperty("hibernate.connection.password", "***");
但是,当我运行它时,出现此错误…
ERROR: No suitable driver found for postgres://*******:*********@ec2-23-21-85-197.compute-1.amazonaws.com:5432/d9i5vp******o7te
如何配置属性,以便heroku找到postgres驱动程序?
(我是hibernate和Heroku的新手,因此非常感谢您的帮助:)
来自Heroku Postgres的URL格式不是JDBC格式。它是一种多语言格式,因此所有平台都可以使用它。因此,您需要将URL转换为JDBC格式。关于如何在Heroku开发中心上执行此操作的一个很好的示例:https : //devcenter.heroku.com/articles/connecting-to-relational-databases-on-heroku- with-java#using-the-in- 纯jdbc