Hibernate的类型映射类型从总体上可以分为两种:内置类型映射和客户类型映射。内置类型映射负责把一些常见的java类型映射到sql类型:此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活的制定客户化映射类型。客户类型映射可以将用户定义的java类映射到数据库表的相应字段。
内置类型映射:
下面列出了Hibernate中的映射类型和与其对应的Java类型以及对应的标准SQL类型和相应的说明。
在Java中,代表时间和日期的类型包括:java.util.Date 和 java.util.Calendar。此外在JDBC API中还提供了三个扩展了java.util.Date类的子类:java.sql.Date 和 java.sql.Time 以及 java.sql.Timestamp,这三个类分别和标准sql类型中的DATE,TIME,TIMESTAMP相对应。
下面列出了Hibernate中的映射类型和与其对应的Java日期类型以及对应的标准SQL类型和相应的说明。
字段类型映射配置事例:
<property name=”name” column=”Name” type=”string”/> <property name=”birthday” column=”Brithday” type=”date”/> <property name=”registereddate” column=”Registereddate” type=”timestamp”/>
下图为以上配置对应的数据库表:
Name varchar2(20) Birthday DATE Registereddate Timestamp
下面列出了个别Java类的Hibernate映射类型,与此对应的标准SQL类型均为VARCHAR类型。
发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)