Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate对象关系映射,包括介绍Hibernate源代码的分析等方面。
同样由于Hibernate官方文档的影响,很多Hibernate开发者误以为Hibernate对象关系映射一定要一个表对应一个对象,并将映射文件和对象文件放在同一目录下。实际上,该模式是为规范性考虑而设计的,因为在多人参与的项目中,多人要维护同一文件容易产生冲突;当项目比较小时,配置文件的维护人员少,我们完全可以将。hbm.xml文件合并到一个或者几个文件中。依据作者本人的项目设计开发经验,***是项目中有几人同时从事O/R映射和持久工作,则设定几个。hbm.xml文件,每人维护一个。当然,为了便于分类和管理,每人的工作应该按逻辑划分。
大型项目中的文件配置示例如下:
- <hibernate-configuration>
- <session-factory>
- <!—映射文件分散 -->
- <mapping resource="com/hongsoft/test/ persistence/Cat.hbm.xml"/>
- <mapping resource="com/hongsoft/test/ persistence/Animal.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
小型项目中的文件配置示例如下:
- <hibernate-configuration>
- <session-factory>
- <!—映射文件集中 -->
- <mapping resource="res_hibernate_map.xml"/>
- </session-factory>
- </hibernate-configuration>
要注意的是, 从对Hibernate源代码的分析可知,指定Hibernate对象关系映射时,不能用绝对目录,只能用相对目录;而且,系统以classes根目录为当前目录。
【编辑推荐】