Spring JPA applicationContext.xml for Google Cloud SQL Postg



我想使用我的 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

最新更新