数据库表名和类名

  一致

    注解:可写可不写;

    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. VIA格式转COCO格式

    VIA是一款很好用的标注软件,基于网页,不过现在开源的大多数目标检测器都是基于COCO训练和测试的,我们如果想要训练自己的数据集,要么修改源代码,要么将自己的标注格式改成COCO格式,采用第一种方法很 ...

  2. kotlin 注意的地方

    1 . kotlin let 用法: let(val -> ) 注意:这  -> 后面不能有 花括号!!!! 2 . kotlin 中 如果使用了 @Transactional 注解.请让 ...

  3. bzoj3262 陌上花开 cdq分治(入门)

    题目传送门 思路:cdq分治处理偏序关系的模板题,主要就是学cdq分治吧,还在入门中. 代码其实也很好理解,记得树状数组操作的上限是 z的最大值,不是n的最大值,这个细节wa了好久. #include ...

  4. FFT 深夜摸鱼小笔记

    本次笔记学习自算法导论 FFT核心:系数表示→(单位复数根)点值表示→(插值)系数表示 关于单位复数根 n次单位复数根\(ω\)为满足\(ω^n=1\)的复数 n次单位复数根恰好有n个,表示为\(ω_ ...

  5. POJ - 2248 迭代加深

    枚举ak的值 反向枚举使ak尽快到达最短链的n /*H E A D*/ int n,m,a[23333],dep; bool dfs(int x){ if(a[x-1]>n||a[x-1]< ...

  6. POJ - 1845 简单数论

    求A^B的约数和模MOD 对A质因子分解P1^k1*P2^k2....P^kn A^B既指数对应部分乘以B 对于每个P都有(1+P^1+P^2+...+P^ki)的选择 连乘每一个P的等比数列之和即可 ...

  7. web 页面 验证码 实现

    1. 前台页面代码:  页面刷新时会自动请求 ${pageContext.request.contextPath}/yanzheng?yz=&time=-1111 这个action <f ...

  8. python 函数基础知识整理

    一.函数的定义: 定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":". def 是固定的,不能变,必须是连续的def三个字母,不能分开... 空格 为了将 ...

  9. Python编程:基础学习常见错误整理

    # Python学习之错误整理: # 错误一:# TypeError: cannot concatenate 'str' and 'int' objects# 不能连接str和int对象age = 2 ...

  10. keepalived heartbeat lvs haproxy

    一, keeplived @ 01,keeplived 是什么? Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三.第四层.第五层交 ...