我想使用我的 Spring 4 应用程序使用 JPA 连接到 Google Cloud SQL Postgres。以前,我的应用程序上下文.xml包含:
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.avaya.myproject.entity" />
<property name="jpaVendorAdapter" ref="hbAdapterBean_pgsql"/>
<property name="jpaProperties">
<props>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.id.new_generator_mappings">true</prop>
</props>
</property>
</bean>
<bean id="hbAdapterBean_pgsql" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false"></property>
<property name="generateDdl" value="true"></property>
<property name="databasePlatform" value="org.hibernate.dialect.PostgreSQLDialect"></property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver"></property>
<property name="url" value="jdbc:postgresql://${DB_HOST_}:${DB_PORT_}/${DB_NAME_}"></property>
<property name="username" value="${DB_USER_}"></property>
<property name="password" value="${DB_PASSWORD_}"></property>
</bean>
<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<constructor-arg ref="dataSource"/>
</bean>
我正在努力弄清楚在xml中需要哪些更改才能连接到Google Cloud SQL Postgres。
pom 中常见的数据库连接问题.xml是没有数据库驱动程序。这对我有用,因为我在 tomcat lib 目录中有 MySQL 驱动程序,并且配置了一些数据源连接。对于任何与数据库连接相关的问题,请将数据库驱动程序放在容器库中或将其包含在 pom.xml依赖项中。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.5</version>
</dependency>
应用程序上下文示例.xml :
<session-factory>
<!-- Database connection properties - Driver, URL, user, password -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/TestDB</property>
<property name="hibernate.connection.username">pankaj</property>
<property name="hibernate.connection.password">pankaj123</property>
<!-- org.hibernate.HibernateException: No CurrentSessionContext configured! -->
<property name="hibernate.current_session_context_class">thread</property>
<!-- Mapping with model class containing annotations -->
<mapping class="com.journaldev.hibernate.model.Employee1"/>
</session-factory>
https://www.journaldev.com/2882/hibernate-tutorial-for-beginners