在向大家详细介绍Hibernate属性之前,首先让大家了解下Hibernate是一种新的O/R映射工具,然后全面介绍Hibernate属性。
在Java环境下,有多种对象关系映射方法,如实体Bean、OJB、JDO、JDBC等。Hibernate是一种新的O/R映射工具,它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制。Hibernate属性非常简单易学,目前国内有很多同行已经或正在用Hibernate开发实施项目;但Hibernate属性有很多规则不为人知或应用甚少。本文的目的就是将这些规则归纳总结,希望对您的开发和设计有益。
系统启动检查您的对象关系映射是否正确时,是以。hbm.xml为基准来进行检查的;对象文件的property可以比映射文件的property多,但不能少。如果您有如下的映射:
- <class name="com.hongsoft.test.User" table="res_user">
- <id name="id" column="id" type="long" unsaved-value="any">
- <generator class="assigned">
- </generator>
- </id
- <property name="name"/>
- <property name="loginName"/>
- <property name="passwd"/>
- </class>
系统启动,检查数据库和其他配置正确后,将以该文件为基准,首先检查User对象中有无id属性和对应的get/set方法,如果没有则报错,如果有且正确则检查有无name属性和对应的get/set方法……,直到文件结束。要注意的是,如果属性为name,则get方法名称必须为 getName(),set方法名称必须为setName(),否则会报错。
如果User对象除了有id,name,loginName, passwd四个属性和对应的方法,还有其它的属性和方法,会报错吗?不会,因为对象关系映射是以。hbm.xml文件为基准的,而不是以PO文件为基准。您在项目中可以充分利用该特点,实现您自己的比较特殊的需求。例如,您可以在User对象中加入updatedPasswd表示更改后的口令,由此构造在表示层要使用的FormBean和在业务层要使用的ValueObject.当然,这样做也有缺点,需要根据您的实际情况而定。以上介绍Hibernate属性。
【编辑推荐】