测试第一个JunitTest所需要的类库

将hibernate.cfg.xml文件放到src目录下,那么在进行JUnit测试的时候,不需要制定hibernate.cfg.xml文件的路径
通过Configuration config=new Configuration().configure();就可以让Eclipse自动找到找个文件。
表1 Hibernate标识生成策略
标识符生成器
| 描述 |
| increment | 适用于代理主键。 由Hibernate自动以递增方式生成。 |
| identity | 适用于代理主键。 由底层数据库生成标识符。 |
| sequence | 适用于代理主键。 Hibernate根据底层数据库的序列生成标识符, 这要求底层数据库支持序列。 |
| hilo | 适用于代理主键。 Hibernate分局high/low算法生成标识符。 |
| seqhilo | 适用于代理主键。 使用一个高/低位算法来高效的生成long, short或者int类型的标识符。 |
| native | 适用于代理主键。 根据底层数据库对自动生成标识符的方式, 自动选择identity、sequence或hilo。 |
| uuid.hex | 适用于代理主键。 Hibernate采用128位的UUID算法生成标识符。 |
uuid.string
| 适用于代理主键。 UUID被编码成一个16字符长的字符串。 |
| assigned | 适用于自然主键。由Java应用程序负责生成标识符。 |
| foreign | 适用于代理主键。使用另外一个相关联的对象的标识符。 |
Hibernate映射类型
在对象/关系映射文件中,Hibernate采用映射类型作为Java类型和SQL类型的桥梁。Hibernate映射类型分为2种:内置映射类型和自定义映射类型。
1、内置映射类型
Hibernate对所有的Java原生类型、常用的Java类型如String、Date等都定义了内置的映射类型。表2列出了Hibernate映射类型、对应的Java类型以及对应的标准SQL类型。
表2 Hibernate内置映射类型
| Hibernate映射类型 | Java类型 | 标准SQL类型 | 大小 |
| integer/int | java.lang.Integer/int | INTEGER | 4字节 |
| long | java.lang.Long/long | BIGINT | 8字节 |
| short | java.lang.Short/short | SMALLINT | 2字节 |
| byte | java.lang.Byte/byte | TINYINT | 1字节 |
| float | java.lang.Float/float | FLOAT | 4字节 |
| double | java.lang.Double/double | DOUBLE | 8字节 |
| big_decimal | java.math.BigDecimal | NUMERIC | ? |
| character | java.lang.Character/ java.lang.String/char | CHAR(1) | 定长字符 |
| string | java.lang.String | VARCHAR | 变长字符 |
| boolean/ yes_no/true_false | java.lang.Boolean/Boolean | BIT | 布尔类型 |
| date | java.util.Date/ java.sql.Date | DATE | 日期 |
| timestamp | java.util.Date/ java.util.Timestamp | TIMESTAMP | 日期 |
| calendar | java.util.Calendar | TIMESTAMP | 日期 |
| calendar_date | java.util.Calendar | DATE | 日期 |
| binary | byte[] | BLOB
| BLOB |
| text | java.lang.String | TEXT | CLOB |
| serializable | 实现java.io. Serializablej接口 的任意Java类 | BLOB | BLOB |
| clob | java.sql.Clob | CLOB | CLOB |
| blob | java.sql.Blob | BLOB | BLOB |
| class | java.lang.Class | VARCHAR | 定长字符 |
| locale | java.util.Locale | VARCHAR | 定长字符 |
| timezone | java.util.TimeZone | VARCHAR | 定长字符 |
| currency | java.util.Currency | VARCHAR | 定长字符 |