我们大多数应用都采用了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 zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
摘录了spring的核心逻辑,代码极度简化,保留spring的核心功能,如IoC和AOP,资源加载器,事件监听器,类型转换,容器扩展点,bean生命周期和作用域,应用某些等核心功能。 如果本项目能帮助到你,请给个STAR,谢谢...
【标题】"bootstrapjava源码-Hepic_sample"是一个开源项目,主要展示了如何利用Java技术栈,特别是Spring、Hibernate和RESTful服务,结合Angular前端框架,来构建一个员工生物识别控制系统。这个项目提供了丰富的源...
Java编程十年精华笔记主要涵盖了Java开发中的核心框架技术,包括Struts、Spring和Hibernate,这些都是企业级应用开发中广泛使用的开源框架。以下是这些知识点的详细解释: **Java**:Java是一种面向对象的、跨平台...
《广东省太阳能光伏发电发展规划(2014-2020年)》摘录-太阳库.pdf
【标题】:“实现拖动(网上摘录-存档)” 在计算机编程中,实现拖放功能是一项常见的任务,尤其在开发用户界面丰富的应用程序时。拖放操作允许用户通过鼠标或其他输入设备将一个对象从一个位置移动到另一个位置,...
- **输入/输出流**:探讨Java中的文件和流处理技术。 - **网络编程**:介绍Java网络编程的基础知识,如Socket编程等。 - **多线程**:讲解Java中线程的创建和管理,以及并发编程的概念。 - **Java虚拟机(JVM)**:...
Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...
标签“spring boot”、“java”、“spring”指出了本书的三个关键词:Spring Boot本身,以及Spring Boot开发所依赖的Java语言和Spring框架。Java作为一门广泛使用的编程语言,是编写Spring Boot应用的主要语言。而...
HotSpot虚拟机的技术细节并没有在摘录的内容中详细说明,但根据Java SE的官方文档和HotSpot的广泛知识,HotSpot虚拟机通过以下几个方面提高Java程序的性能: 1. 即时编译器:HotSpot虚拟机包含两个主要的JIT编译器...
1. 加载配置:Ibatis 首先会加载配置文件,解析其中的 SQL 映射文件和数据源等信息。 2. 创建 SqlSessionFactory:SqlSessionFactory 是 Ibatis 的核心对象,用于创建 SqlSession。SqlSession 是执行 SQL 和获取...
2. 数据持久化、对象关系映射(Object-Relational Mapping,ORM)与事务管理:这部分可能会涉及如何使用Spring与各种ORM工具(例如Hibernate、JPA等)集成,如何管理数据库事务,确保数据的一致性。 3. 使用Spring ...
6. **数据访问**:Spring对各种数据访问技术的支持,如JDBC、Hibernate、MyBatis等,以及Spring Data JPA和Spring Data MongoDB等高级特性的使用。 7. **Spring Boot**:Spring Boot简化了Spring应用的创建和运行,...
《Hibernate开发学习手册》是为初学者准备的一本详尽指南,旨在帮助读者快速掌握Hibernate这一流行的Java对象关系映射框架。本章首先讲解了如何搭建开发环境,这对于任何编程学习都是至关重要的第一步。 2.1 环境...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...