Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate column属性,包括介绍Hibernate充分利用实现特殊化的属性等方面。
Hibernate是一个对象-关系映射工具。它的任务是映射对象到关系型表,反之亦然。所以,我们必须告诉Hibernate如何映射列到JavaBean的属性上。这个是通过Element.hbm.xml文件来完成的。这份文件里面包含的信息用来授予Hibernate从表里面拷贝数据到Elements JavaBean的权利。如果我们使用Hibernate来更新数据,Element.hbm.xml文件里的信息将被用来解析从Elements JavaBean来的数据来生成更新的SQL语句.
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-
//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sf.net/hibernate-mapping-2.0.dtd"><hibernate-mapping>
<class name="com.strutsrecipes.hibernate.beans.Element" table="elements">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name" column="name"/>
<property name="number" column="number"/>
<property name="mass" column="mass"/>
<property name="symbol" column="symbol"/>
</class></hibernate-mapping>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
我们声明从JavaBean的id属性到表的id列的映射。因为property和Hibernate column属性都有相同的值,我们本来可以忽略Hibernate column属性,但是为了清晰起见,我们还是把column列出来。
一旦映射文件被详细的分析,那一切都非常的明晰了。它简单地声明了表与类的映射和JavaBean属性与表的列名的映射。接下来我将告诉你在哪里放置这个文件。
接下来,我们通过声明环境信息来配置Hibernate。在下面我们展示Hibernate.cfg.xml文件。
xml version='1.0' encoding='utf-8'?>//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="dialect">net.sf.hibernate.dialect.HSQLDialectproperty>
<property name="connection.driver_class">org.hsqldb.jdbcDriverproperty>
<property name="connection.username">saproperty>
<property name="connection.password">property>
<property name="connection.url">jdbc:hsqldb:hsql://127.0.0.1property>
<property name="show_sql"> property> <property name="">trueproperty>
<mapping resource="/com/strutscookbook/hibernate/beans/Element.hbm.xml"/>
session-factory>
hibernate-configuration>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
我们以指定数据库实现方言开始,允许Hibernate充分利用实现特殊化的属性。我们声明Hypersonic方言。我们可以参考Hibernate文档以选择数据库相应的方言。然后我们声明数据库驱动。必须保证这个驱动在应用程序的classpath上。然后我们声明数据库的用户名,数据库密码,连接数据库的URL。接下来我们通知Hibernate在日志里显示运行时生成的SQL语句。
【编辑推荐】