spring jpa扫描不同jar包下的类

本文介绍了在使用Spring JPA时遇到的问题,即当项目采用Maven多模块部署,model和service、dao层分离时,LocalContainerEntityManagerFactoryBean无法扫描到不同jar包下的类。通过分析Spring初始化过程,发现需要配置jpaVendorAdapter来解决这个问题。具体配置是在jpaPropertyMap中进行,这使得传统的persist.xml配置变得不再必要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在搭建项目的过程中我使用了maven,并且部署了多个模块,model和service,dao层分离,service,dao依赖model层,但是这时使用persist.xml构造的provider无法获取到另一个jar包下的类,只能获取到当前classes目录下的类,使用spring的封装的LocalContainerEntityManagerFactoryBean,配置了packagescan无法扫描,无法初始化provider,只有配置不同的unit才可以,但是无法扫描不同jar中的类,后来看了spring的初始化类的过程,发现是包装类的一些问题,只能通过配置jpaVendorAdapter才可

配置如下:

<property name="packagesToScan" value="org.ww"></property>
  <property name="jpaVendorAdapter">
   <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect" />
    <property name="generateDdl" value="false" />
   </bean>
  </property>
当然还要配置数据库连接的信息

 配置在jpaPropertyMap中,这是persist.xml的作用已经不大了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值