📜  Hibernate-O R映射(1)

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

Hibernate-ORM映射

Hibernate-ORM是一个流行的Java持久化框架,它提供了一个可扩展的对象/关系映射方案来持久化Java应用程序的领域模型。Hibernate将Java类映射到关系数据库表,用于存储和检索数据。Hibernate以标准的Java注释或XML文件的形式定义映射关系。

Hibernate映射

在Hibernate中,对象映射到数据表,类中的属性映射到表中的列。我们可以使用以下方法定义映射关系:

1. 注释的方式
@Entity
@Table(name="student")
public class Student {
    
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;
    
    @Column(name="name")
    private String name;
    
    @Column(name="age")
    private int age;
    
    // getters and setters
}

在上面的示例中,@Entity注释将Java类定义为Hibernate实体类,@Table注释定义实体类与表之间的映射关系。@Id@GeneratedValue注释定义主键和其生成策略。@Column注释定义实体类中属性和表中列之间的映射关系。

2. XML方式

我们也可以使用XML文件定义Hibernate映射。以下是一个简单的示例:

<hibernate-mapping>
    <class name="com.example.Student" table="student">
        <id name="id" type="long">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="name" type="string">
            <column name="name" />
        </property>
        <property name="age" type="integer">
            <column name="age" />
        </property>
    </class>
</hibernate-mapping>
ORM映射类型

在Hibernate中,我们可以使用以下类型将Java类型映射到数据库类型:

  • 基本类型:字节,短整型,整型,长整型,双精度型,浮点型,字符型和字符串型。
  • 日期/时间类型:日期和时间类型,包括java.util.Date和java.util.Calendar。
  • 枚举类型:将Java枚举映射到数据库中的常规值。
  • 关系类型:一对一,一对多,多对一和多对多关系。

除此之外,还有许多其他的Hibernate-ORM映射类型,如用户自定义类型(自定义映射)。

总结

Hibernate-ORM是Java持久化领域的重要框架之一,它提供了一种简单易用的对象/关系映射方案。使用Hibernate-ORM,我们可以将Java应用程序的领域模型映射到关系数据库表,以持久化存储和检索数据。以上介绍了Hibernate映射的两种方式和Hibernate中支持的ORM映射类型。