一.前言
POJO 类和关系数据库之间的映射可以用一个XML文档来定义。
通过 POJO 类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对应关系
在运行时 Hibernate 将根据这个映射文件来生成各种 SQL 语句
映射文件的扩展名为 .hbm.xml
二.映射文件说明
hibernate-mapping
类层次:class
主键:id
基本类型:property
实体引用类: many-to-one | one-to-one
集合:set | list | map | array
one-to-many
many-to-many
子类:subclass | joined-subclass
其它:component | any 等
查询语句:query(用来放置查询语句,便于对数据库查询的统一管理和优化)
每个Hibernate-mapping中可以同时定义多个类. 但更推荐为每个类都创建一个单独的映射文件
类层次:class
主键:id
基本类型:property
实体引用类: many-to-one | one-to-one
集合:set | list | map | array
one-to-many
many-to-many
子类:subclass | joined-subclass
其它:component | any 等
查询语句:query(用来放置查询语句,便于对数据库查询的统一管理和优化)
每个Hibernate-mapping中可以同时定义多个类. 但更推荐为每个类都创建一个单独的映射文件
三.Hibernate Mapping
class:
何为动态更新,插入
当你在class设置动态更新,
<class name="User" table="userinfo" dynamic-update="true">
当你只修改loginPass的时候,修改语句如下:
Hibernate:
update
userinfo
set
loginPass=?
where
userID=?
原始的修改sql语句是:
Hibernate:
update
userinfo
set
loginName=?,
loginPass=?
where
userID=?
四.Property
Java 类型, Hibernate 映射类型及 SQL
Java 类型, Hibernate 映射类型及 SQL 类型之间的对应关系
在 Java 中, 代表时间和日期的类型包括: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java.util.Date 类的子类:java.sql.Date, java.sql.Time 和 java.sql.Timestamp, 这三个类分别和标准 SQL 类型中的 DATE, TIME 和 TIMESTAMP 类型对应
如何将java.util.Date 映射为java.sql.Date, java.sql.Time 和 java.sql.Timestamp?
<property name="date" column="time" type=""></property>
type:date |time |timestap