spring - 用于 Google Cloud SQL Postgres 的 Spring JPA applicationContext.xml
问题描述
我想使用我的 Spring 4 应用程序使用 JPA连接到Google Cloud SQL Postgres 。以前,我的 applicationContext.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>
我正在努力弄清楚连接 Google Cloud SQL Postgres 需要在 xml 中进行哪些更改
解决方案
pom.xml 中常见的数据库连接问题是没有数据库驱动程序。这对我有用,因为我在 tomcat lib 目录中有 MySQL 驱动程序,并且配置了一些 DataSource 连接。对于任何与数据库连接相关的问题,要么将数据库驱动程序放在容器库中,要么将其包含在 pom.xml 依赖项中。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.5</version>
</dependency>
applicationContext.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
推荐阅读
- php - 无法通过按钮发布数据
- kotlin - DAO:决定何时刷新更改
- python-3.x - python3中过滤后列表内容消失的原因是什么?
- snowflake-cloud-data-platform - 雪花 DW 的标准加载(摄取)过程?
- java - Mapbox:可视化符号的问题
- javascript - 使用 jQuery 单击轮播标题按钮后将导航项设置为活动状态
- python - 正则表达式仅删除带有大写字母的单词
- windows-subsystem-for-linux - 在 Ubuntu (WSL) 上找不到 Nlopt 库
- javascript - 如何在不使用 javascript 转换为 text/plain 的情况下交换卡片内容?
- java - 在 JavaFX 应用程序的 Main 方法中获取在 .fxml 文件中定义的 TextArea