`

Java Web 摘录-Spring和Hibernate动态建表及动态加载映射文件

 
阅读更多
我们大多数应用都采用了Hibernate作为底层的ORM框架,结合Spring框架,Spring容器启动后,SessionFactory就会被注入到各个业务的Dao层中去。

动态建表功能比较容易实现,我们可以new一个SessionFactory,然后把它的配置属性hibernate.hbm2ddl.auto改为update或create,就可以达到动态修改表结构的效果。

但若要加入新的hbm或class,需要重新调用SessionFactoryBean来获取一个全新的SessionFactory,这种方案试过了, 效果并不理想。重新加载,会导致大量的hbm或class文件重新加载,实在有点慢。并且严重影响现在注入SessionFactory的Dao。若 Dao采用动态构建SessionFactory,性能又是一问题。而Hibernate没有提供SessionFactory动态加入hbm或 Class文件。所以实在无计可施。


最终回到如何扩展Hibernate的SessionFactory类
我们提供了两个扩展的类(修改Hibernate中的两类,使其支持动态加入配置文件,并且能实时查询。
我们仅需要修改两个类,一个是Configuration,在其里面加一方法,如下:
   public void doComplie(){
         secondPassCompile();
     }

修改SessonFactoryImpl类中加入以下方法,(有一些变量值不能修改的,请改为可修改)
参考:
http://blog.csdn.net/lingwing/article/details/7072651
分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    tiny-spring:tiny-spring是简化版的spring框架,能帮助您快速熟悉spring原型和掌握spring的核心原理。摘录了spring的核心逻辑,代码极度简化,保留spring的核心功能,如IoC和AOP,资源加载器,事件监听器,类型转换,容器扩展点,bean生命周期和作用域,应用某些等核心功能

    摘录了spring的核心逻辑,代码极度简化,保留spring的核心功能,如IoC和AOP,资源加载器,事件监听器,类型转换,容器扩展点,bean生命周期和作用域,应用某些等核心功能。 如果本项目能帮助到你,请给个STAR,谢谢...

    bootstrapjava源码-Hepic_sample:源代码摘录,员工生物识别控制项目。用Java(Spring,Hibernate,My

    【标题】"bootstrapjava源码-Hepic_sample"是一个开源项目,主要展示了如何利用Java技术栈,特别是Spring、Hibernate和RESTful服务,结合Angular前端框架,来构建一个员工生物识别控制系统。这个项目提供了丰富的源...

    java 笔记(编程十年精华)

    Java编程十年精华笔记主要涵盖了Java开发中的核心框架技术,包括Struts、Spring和Hibernate,这些都是企业级应用开发中广泛使用的开源框架。以下是这些知识点的详细解释: **Java**:Java是一种面向对象的、跨平台...

    《广东省太阳能光伏发电发展规划(2014-2020年)》摘录-太阳库.pdf

    《广东省太阳能光伏发电发展规划(2014-2020年)》摘录-太阳库.pdf

    实现拖动(网上摘录-存档)

    【标题】:“实现拖动(网上摘录-存档)” 在计算机编程中,实现拖放功能是一项常见的任务,尤其在开发用户界面丰富的应用程序时。拖放操作允许用户通过鼠标或其他输入设备将一个对象从一个位置移动到另一个位置,...

    Think-in-JAVA-4th-Edition

    - **输入/输出流**:探讨Java中的文件和流处理技术。 - **网络编程**:介绍Java网络编程的基础知识,如Socket编程等。 - **多线程**:讲解Java中线程的创建和管理,以及并发编程的概念。 - **Java虚拟机(JVM)**:...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    java源码包2

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包3

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    learning spring boot 2.0

    标签“spring boot”、“java”、“spring”指出了本书的三个关键词:Spring Boot本身,以及Spring Boot开发所依赖的Java语言和Spring框架。Java作为一门广泛使用的编程语言,是编写Spring Boot应用的主要语言。而...

    JAVA上百实例源码以及开源项目源代码

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    08-java11-hotspot-guide.pdf

    HotSpot虚拟机的技术细节并没有在摘录的内容中详细说明,但根据Java SE的官方文档和HotSpot的广泛知识,HotSpot虚拟机通过以下几个方面提高Java程序的性能: 1. 即时编译器:HotSpot虚拟机包含两个主要的JIT编译器...

    ibati摘录

    1. 加载配置:Ibatis 首先会加载配置文件,解析其中的 SQL 映射文件和数据源等信息。 2. 创建 SqlSessionFactory:SqlSessionFactory 是 Ibatis 的核心对象,用于创建 SqlSession。SqlSession 是执行 SQL 和获取...

    Spring in Practice (非扫描清晰英文版)

    2. 数据持久化、对象关系映射(Object-Relational Mapping,ORM)与事务管理:这部分可能会涉及如何使用Spring与各种ORM工具(例如Hibernate、JPA等)集成,如何管理数据库事务,确保数据的一致性。 3. 使用Spring ...

    Spring初学者入门教程 PDF带书签高清版

    6. **数据访问**:Spring对各种数据访问技术的支持,如JDBC、Hibernate、MyBatis等,以及Spring Data JPA和Spring Data MongoDB等高级特性的使用。 7. **Spring Boot**:Spring Boot简化了Spring应用的创建和运行,...

    Hibernate开发学习手册

    《Hibernate开发学习手册》是为初学者准备的一本详尽指南,旨在帮助读者快速掌握Hibernate这一流行的Java对象关系映射框架。本章首先讲解了如何搭建开发环境,这对于任何编程学习都是至关重要的第一步。 2.1 环境...

Global site tag (gtag.js) - Google Analytics