数据库表名和类名

  一致

    注解:可写可不写;

    XML:可写可不写; <class name="Student">

  不一致

    注解:  @Table(name="_teacher") public class Teacher ,注意导入的是 javax.persistence.Table;

    XML:  <class name="Student" table="_student"> 。

字段名和属性名

  一致

    注解:@Basic / 不写,没有在字段上加注解相当于加了@Basic;

    XML:如果要在数据库中进行操作的字段那就必须要写,否则数据就不会插入到数据库中

 <id name="id"/>
<property name="name"/>

  不一致

    注解: @Column(name="_name") public String getName() ,注意导入的是 javax.persistence.Column;

    XML: <property name="name" column="_name"/>

不想保存在数据库中的字段:

  注解:导入 javax.persistence.Transient;

     import javax.persistence.Transient;

     private String girlName;

     @Transient
public String getGirlName() {
return girlName;
} public void setGirlName(String girlName) {
this.girlName = girlName;
}

  XML:不要持久化的属性不写进XML配置文件就可以了

映射日期和时间

  注解: 默认是 TIMESTAMP,如果要设置时间精度,有三个可选,DATE只保存日期(年月日),TIME只保存时间(时分秒),TIMESTAMP保存日期和时间:

    

    例子:

    private Date birthday;
@Temporal(value=TemporalType.TIMESTAMP)
public Date getBirthday() {
return birthday;
} public void setBirthday(Date birthday) {
this.birthday = birthday;
}

  XML:在对应的字段上对 type 进行配置,如图:

映射枚举类型

  注解:两种类型 ORDINAL在数据库中以int保存,STIRNG以字符串保存

    

    定义枚举类型:

    

 package com.bjsxt.hibernate.model;

 public enum ZhiCheng {
A,B,C
}

    设置职称为B:  t.setZhiCheng(ZhiCheng.B); 如果映射为ORDINAL,数据保存为0;如果映射为STRING,数据保存为B。

  XML:很麻烦,一般不用。

FAQ:

1、注解指定数据库字段的长度?

  注解:Column 的 length 配置;

  XML:propertye 的 length 配置。

-----------------------------------------------------------------------------------------------------------------------------------------------------------

字段映射的位置:field 上、方法上。

放在方法上,这样不会破坏Java的面向对象的封装性;

best practice:保持field和 get set 方法的一致。

链接: http://pan.baidu.com/s/1caR1ZS 密码: c24n

jar包:链接: http://pan.baidu.com/s/1pLM4ch9 密码: q5cp

hibernate基础配置的更多相关文章

  1. Hibernate学习笔记2.1(Hibernate基础配置)

    Hibernate基础配置 1.<property name="hbm2ddl.auto">update</property> 在SessionFactor ...

  2. Hibernate 基础配置及常用功能(三)

    本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转 ...

  3. Hibernate 基础配置及常用功能(一)

    本来是想等全部框架测试完以后再统一发布的,但是随着测试的一点点增加感觉把需要叙述的东西放在一起终将会是一场灾难.所以还是打算分成几章来描述,其中还包括一些有待解决的问题.短期很难腾出时间来仔细阅读Hi ...

  4. Hibernate 基础配置及常用功能(二)

    本章主要是描述几种经典映射关系,顺带比较Hibernate4.x和Hibernate5.x之间的区别. 一.建立测试工程目录 有关实体类之间的相互映射关系,Hibernate官方文档其实描述的非常详细 ...

  5. 3.Hibernate基础配置

    1.Hibernate.cfg.xml:hbm2ddl.auto 在SessionFactory创建时,自动检查数据库结构,或者将数据库schema的DDL导出到数据库 <property na ...

  6. Hibernate学习笔记2.3(Hibernate基础配置)

    映射,注释可以放在成员变量上面,也可以放在get方法上面 写在成员变量的话 破坏了java的面向对象思维 直接让hibernate访问内部的私有元素 要是能直接设指不合适哈哈 所以主张写在get方法上 ...

  7. Hibernate游记——装备篇《二》(基础配置示例)

    <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...

  8. Java进阶知识03 Hibernate的基础配置详解

    1.Hibernate的原理/流程步骤 1.通过Configuration().configure(); 读取并解析hibernate.cfg.xml配置文件,并创建一个configuration对象 ...

  9. hibernate学习笔记(1)基础配置与jar包

    下载hibernate基础jar包,并解压hibernate-core-4.2.4.final 在myeclipse中添加hibernate的dtd支持: location为D:\学习\imooc-h ...

随机推荐

  1. HDU_1430 魔板 【BFS+康托展开+置换】

    一.题面 POJ1430 二.分析 该题与之前做的八数码不同,它是一个2*4的棋盘,并且没有空的区域.这样考虑的情况是很少的,依然结合康托展开,这时康托展开最多也只乘7的阶乘,完全可以BFS先预处理一 ...

  2. RPC 框架 应用

    RPC RPC(Remote Procedure Call)服务,也即远程过程调用,在互联网企业技术架构中占据了举足轻重的地位,尤其在当下微服务化逐步成为大中型分布式系统架构的主流背景下,RPC 更扮 ...

  3. 108th LeetCode Weekly Contest Unique Email Addresses

    Every email consists of a local name and a domain name, separated by the @ sign. For example, in ali ...

  4. POJ - 3261 后缀数组 height应用

    题意:求最少重叠\(k\)次的重复子串的最大长度 子串长度问题依然是二分枚举,可以观察出重叠的一定是sa排序中连续的 之前想出一种判断要\(n^2\)的方法,没有考虑到后面肯定会连续出现的情况 (大概 ...

  5. 1149 Dangerous Goods Packaging (25 分)

    When shipping goods with containers, we have to be careful not to pack some incompatible goods into ...

  6. 爬虫之自动生成url

    Object.extend=function(props){ //继承父类 var prototype=Object.create(this.prototype) //初始化函数ctor var _C ...

  7. 剑指offer——面试题9:用两个栈实现队列

    #include "Queue.h" // ====================测试代码==================== void Test(char actual, ...

  8. 剑指offer——面试题4:二维数组中的查找

    // 面试题4:二维数组中的查找 // 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按 // 照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个 // 整数 ...

  9. Thinkphp2.1漏洞利用

    thinkphp2.1版本 Google语法: inurl:index.php intext:ThinkPHP 2.1 { Fast & Simple OOP PHP Framework }  ...

  10. SpringCloud---服务治理---Spring Cloud Eureka

    1.概述 1.1 Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理 ...