gpt4 book ai didi

hibernate - 如何在heroku 上配置hibernate ORM?

转载 作者:行者123 更新时间:2023-12-02 22:56:49 25 4
gpt4 key购买 nike

这是我在 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 的新手,因此非常感谢任何帮助:)

最佳答案

您可以使用此 Hibernate+JPA persistence.xml 配置作为 hibernate 配置的基础。

hibernate.cfg.xmlpersistence.xml 之间的属性名称是相同的,只有 hibernate 使用开始和结束元素,而 JPA 使用属性。

<properties>
<property name="hibernate.connection.url" value="jdbc:postgresql://ec2-107-21-126-162.compute-1.amazonaws.com:6232/dbname?username=username&amp;password=password&amp;ssl=true&amp;sslfactory=org.postgresql.ssl.NonValidatingFactory"/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.username" value="username"/>
<property name="hibernate.connection.password" value="password"/>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hbm2ddl.auto" value="update"/>

<!-- c3p0 connection pool settings -->
<property name="hibernate.connection.provider_class" value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider" />
<property name="hibernate.c3p0.min_size" value="1" />
<property name="hibernate.c3p0.max_size" value="5" />
<property name="hibernate.c3p0.acquire_increment" value="1" />
<property name="hibernate.c3p0.idle_test_period" value="3000" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.timeout" value="1800" />

</properties>

Maven 依赖项:

 <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.1.Final</version>
</dependency>

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>4.2.1.Final</version>
</dependency>

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.2.1.Final</version>
</dependency>

关于hibernate - 如何在heroku 上配置hibernate ORM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12045070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com