配置JPA的SessionFactory为Spring
Configure SessionFactory of JPA into Spring
我正在尝试向我的项目添加一个 Jar,它使用 Spring 4 sessionFactory 连接到数据库。我的项目使用 Spring 引导和 JPA 进行交易。
如何配置我的项目以便将 JPA sessionFactory 传递给 Spring sessionFactory? .
当我将 jar 放入我的项目时,出现错误:“考虑在您的配置中定义一个名为 'sessionFactory' 的 bean。”
所以,我在 applicationContext.xml:
上添加了一个 sessionFactory
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${spring.datasource.driver-class-name}" />
<property name="url" value="${spring.datasource.url}" />
<property name="username" value="${spring.datasource.username}" />
<property name="password" value="${spring.datasource.password}" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.secondProjectClass</value>
</list>
</property>
</bean>
但是,当我添加这个时,出现以下错误:
操作:
考虑在您的配置中定义一个名为 'entityManagerFactory' 的 bean。
我的项目有 spring-boot-starter-data-jpa:2.2.4.RELEASE,jar 使用 Spring 4。
目前我无法编辑第二个 jar(spring 4 的那个)。
这种配置可行吗?谢谢!
第一个项目配置:(基础项目)
implementation ('org.springframework.boot:spring-boot-starter-data-jdbc')
implementation ('org.springframework.boot:spring-boot-starter-web')
compile ('org.springframework.boot:spring-boot-starter-data-jpa:2.2.4.RELEASE')
第二个项目配置:(我需要添加的Jar)
springVersion = '4.3.13.RELEASE'
compile("org.springframework:spring-context:${springVersion}")
compile("org.springframework:spring-web:${springVersion}")
compile("org.springframework:spring-tx:${springVersion}")
我通过只保留 SpringBoot + JPA 存储库解决了这个问题,所有内容都在同一版本中。
我正在尝试向我的项目添加一个 Jar,它使用 Spring 4 sessionFactory 连接到数据库。我的项目使用 Spring 引导和 JPA 进行交易。
如何配置我的项目以便将 JPA sessionFactory 传递给 Spring sessionFactory? .
当我将 jar 放入我的项目时,出现错误:“考虑在您的配置中定义一个名为 'sessionFactory' 的 bean。”
所以,我在 applicationContext.xml:
上添加了一个 sessionFactory<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${spring.datasource.driver-class-name}" />
<property name="url" value="${spring.datasource.url}" />
<property name="username" value="${spring.datasource.username}" />
<property name="password" value="${spring.datasource.password}" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.secondProjectClass</value>
</list>
</property>
</bean>
但是,当我添加这个时,出现以下错误:
操作:
考虑在您的配置中定义一个名为 'entityManagerFactory' 的 bean。
我的项目有 spring-boot-starter-data-jpa:2.2.4.RELEASE,jar 使用 Spring 4。 目前我无法编辑第二个 jar(spring 4 的那个)。 这种配置可行吗?谢谢!
第一个项目配置:(基础项目)
implementation ('org.springframework.boot:spring-boot-starter-data-jdbc')
implementation ('org.springframework.boot:spring-boot-starter-web')
compile ('org.springframework.boot:spring-boot-starter-data-jpa:2.2.4.RELEASE')
第二个项目配置:(我需要添加的Jar)
springVersion = '4.3.13.RELEASE'
compile("org.springframework:spring-context:${springVersion}")
compile("org.springframework:spring-web:${springVersion}")
compile("org.springframework:spring-tx:${springVersion}")
我通过只保留 SpringBoot + JPA 存储库解决了这个问题,所有内容都在同一版本中。