2019独角兽企业重金招聘Python工程师标准>>>

在之前的例子中,扫描并识别hibernate实体时使用的的是org.springframework.orm.hibernate4.LocalSessionFactoryBean类中的annotatedClasses属性,如下:

<!-- 配置SessionFactory --><bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="hibernateProperties"><props><prop key="hibernate.dialect">${hibernate.dialect}</prop><prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop><prop key="hibernate.show_sql">${hibernate.show_sql}</prop><prop key="hibernate.format_sql">${hibernate.format_sql}</prop></props></property><!-- 注解扫描的包 --><property name="annotatedClasses"><list><value>com.jason.sshIntegration.entity.User</value></list></property></bean>

这种方式需要一个一个的指定实体类,每增加一个实体类都需要修改一次配置文件,非常麻烦。

所以spring提供了另外一个属性叫packagesToScan来指定实体所在的包,这个属性可以扫描指定包下的所有实体,只要该实体类有@Entity注解,使用方法如下:

<!-- 配置SessionFactory --><bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="hibernateProperties"><props><prop key="hibernate.dialect">${hibernate.dialect}</prop><prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop><prop key="hibernate.show_sql">${hibernate.show_sql}</prop><prop key="hibernate.format_sql">${hibernate.format_sql}</prop></props></property><!-- 注解扫描的包 --><property name="packagesToScan"><list><value>com.jason.sshIntegration.entity</value></list></property></bean>

使用这个属性有一个需要注意的地方就是如果某个包下没有子包则使用完整的包名,但如果某个包下有子包并且子包下的实体也需要被扫描则需要在完整的包名后加上.*,比如上面这个例子在entity包下有两个子包分别叫test和xxx都有需要被扫描的实体,则需要如下配置:

<property name="packagesToScan"><list><value>com.jason.sshIntegration.entity</value><value>com.jason.sshIntegration.entity.*</value></list></property>

注意这边还是要明确指定com.jason.sshIntegration.entity这个包的包名,因为这包下也有实体需要扫描,如果不这样做则直接放在entity目录下的实体不会被扫描!

备注:

本例子中涉及到的代码都可以在我的github地址下载:https://github.com/zjordon/ssh-integration

转载于:https://my.oschina.net/u/914897/blog/480952

springmvc,spring,hibernate整合-使用packagesToScan扫描实体相关推荐

  1. 【SpringMVC】SpringMVC+Spring+hibernate整合

    文章目录 1.目录结构如下 这里有个×,不用管,这是jquery的错误 2.web.xml <?xml version="1.0" encoding="UTF-8& ...

  2. Maven搭建Springmvc+Spring+Hibernate+html

    最近在学前端,由于之前是干Android和Java所以顺便就搞搞Web的东西.于是就摸索了用Maven搭建Springmvc+Spring+Hibernate+html的工程,废话不多说. 工具:Ec ...

  3. Java程序员从笨鸟到菜鸟之(七十九)细谈Spring(八)spring+hibernate整合基本详解

    由于spring和hibernate处于不同的层次,Spring关心的是业务逻辑之间的组合关系,Spring提供了对他们的强大的管理能力, 而Hibernate完成了OR的映射,使开发人员不用再去关心 ...

  4. Maven搭建springMVC+spring+hibernate环境

    这次不再使用struts2做控制器,采用spring自己的springMVC框架实现. 首先,改写pom.xml文件,不需要struts2的相关jar了. pom.xml <project xm ...

  5. springmvc+spring+hibernate集成cxf

    首先说一下背景,我们的系统是springmvc+spring+hibernate,已经能正常运行,现在要开发webservice,选用cxf. 1.maven依赖 <dependency> ...

  6. springMVC+Spring+mybatis整合配置版与注解版

    springMVC+Spring+mybatis整合 , 使用配置版来完成: -----------------------------前端 1.创建web系统,导入jar包: spring的jar包 ...

  7. flex3+blazeds+spring+hibernate整合小结

    近来flex盛行,因此这两天也借了本书看了两天,发觉作为非页面设计人员,flex 还是很好的,flex builder很好用,拖拉就 有很COOL的界面了,而且flex总的来说基本东西不难学,有编程基 ...

  8. mybatis学习(十一)——springmvc++spring+mybatis整合

    做任何一个项目都以一个需求,这里先定义一下需求:利用三大框架查询酒店列表. 一.搭建开发环境 1.创建一个web项目 我这里用的是 jdk1.8+tomact7.0 2.创建hotel表 CREATE ...

  9. Spring、Struts2+Spring+Hibernate整合步骤

    所使用的Jar包: Hibernate: Spring(使用MyEclipse自动导入框架功能) Struts2: 注解包和MySql驱动包: 1.配置Hibernate和Spring: <be ...

最新文章

  1. oracle的adr,oracle ADR
  2. Running Builds
  3. 魔方游戏实现:任意阶魔方的表示
  4. 关于Dapper.NET的相关论述
  5. 编程算法 - 将排序数组按绝对值大小排序 代码(java)
  6. 滤波器开发之三:基于算数平均的阶进平滑滤波器
  7. 光动能表怎么维护_男士手表什么牌子好,男士手表品牌推荐, 天梭、阿玛尼、西铁城、天王表、罗西尼、卡西欧男手表推荐...
  8. 大话php设计模式视频,大话PHP设计模式
  9. catia需要java插件,catia中的带分析
  10. 双十一哪款蓝牙耳机值得入手?音质超棒的蓝牙耳机推荐
  11. matlab 4轴机器人建模,MATLAB机器人工具箱6轴机械臂DH建模仿真
  12. 【1 - 决策树 - 原理部分】菜菜sklearn机器学习
  13. 电子计算机厂房火灾危险性,厂房建筑设计防火规范(57页)-原创力文档
  14. 如何修复SSL: CERTIFICATE_VERIFY_FAILED
  15. 多想别人学习。增强编程能力。
  16. 【微机原理与概述】微计算机概述
  17. 难溶盐在盐酸中的溶解度分析
  18. [html+js][实现鼠标悬停事件]鼠标移动到行自动变色实现
  19. Ubantu18.04安装 双系统 win10 SSD+HHD DELL笔记本
  20. 如何用软件模拟NGS数据

热门文章

  1. Java NoSuchElementException No value present 问题解决
  2. C223 生产版本BAPI
  3. 【Breeze】常用方法
  4. JS 你不知道的冷知识 (身为开发工程师的你 走了多少弯路?)
  5. 【工作计划】6.11-6.15
  6. python动漫教程_动漫迷的福利!Python小白也可以学会的爬虫教程
  7. 【讲大道理】参加什么信息学比赛对升学有帮助?
  8. 计算机原理实验一汇编语言上机操作,实验一-汇编语言上机调试及基本操作.doc...
  9. FPS之游戏基址(二)
  10. iOS开发中一些优秀的技术博客