📜  使用XML文件的每个具体类的Hibernate表示例(1)

📅  最后修改于: 2023-12-03 15:06:54.482000             🧑  作者: Mango

使用XML文件的每个具体类的Hibernate表示例

Hibernate是Java中广泛使用的ORM(Object-Relational Mapping)框架。它提供了将Java对象映射到关系数据库的机制。Hibernate支持使用XML文件定义实体类,这使开发人员可以更轻松地管理实体类。

本文将提供使用XML文件的每个具体类的Hibernate表示例,包括配置文件和实体类代码。以下是示例代码:

Hibernate配置文件

下面是一个Hibernate配置文件示例,它定义了Hibernate所需的数据库连接器和持久化上下文信息:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

  <session-factory>

    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">password</property>

    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.format_sql">true</property>
    <property name="hibernate.use_sql_comments">true</property>

    <mapping resource="com/example/Person.hbm.xml"/>
    <mapping resource="com/example/Address.hbm.xml"/>

  </session-factory>

</hibernate-configuration>

注意,配置文件中的session-factory元素包含了Hibernate的核心配置信息,如数据库连接信息和映射文件配置。

实体类

以下是一个Person实体类的示例,它用XML文件定义实体类的映射:

<?xml version='1.0'?>
<!DOCTYPE hibernate-mapping PUBLIC 
  "-//Hibernate/Hibernate Mapping DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
  <class name="com.example.Person" table="Person">
    <id name="id" column="id">
      <generator class="identity"/>
    </id>
    <property name="firstName" column="first_name"/>
    <property name="lastName" column="last_name"/>
    <property name="email" column="email"/>
    <property name="age" column="age"/>
  </class>
</hibernate-mapping>

注意,实体类的XML映射文件中的class元素指定了实体类的名称和表格名称,而id元素指定了实体类的主键生成器。property元素定义了实体类属性和表格列之间的映射关系。

以下是一个Address实体类的示例,它也使用XML文件定义实体类的映射:

<?xml version='1.0'?>
<!DOCTYPE hibernate-mapping PUBLIC 
  "-//Hibernate/Hibernate Mapping DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
  <class name="com.example.Address" table="Address">
    <id name="id" column="id">
      <generator class="identity"/>
    </id>
    <property name="street" column="street"/>
    <property name="city" column="city"/>
    <property name="state" column="state"/>
    <property name="zip" column="zip"/>
  </class>
</hibernate-mapping>

同样,在这个示例中,class元素也指定了实体类的名称和表格名称,而id元素指定了实体类的主键生成器,而property元素定义了实体类的属性和表格列之间的映射关系。

总结

在本文中,我们提供了使用XML文件定义每个具体类的Hibernate示例。Hibernate的XML文件配置语法简单明了,它提供了一个清晰的映射关系,使开发人员能够更加简单地创建和管理持久化对象。