hibernate基础配置
数据库表名和类名
一致
注解:可写可不写;
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基础配置的更多相关文章
- Hibernate学习笔记2.1(Hibernate基础配置)
Hibernate基础配置 1.<property name="hbm2ddl.auto">update</property> 在SessionFactor ...
- Hibernate 基础配置及常用功能(三)
本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转 ...
- Hibernate 基础配置及常用功能(一)
本来是想等全部框架测试完以后再统一发布的,但是随着测试的一点点增加感觉把需要叙述的东西放在一起终将会是一场灾难.所以还是打算分成几章来描述,其中还包括一些有待解决的问题.短期很难腾出时间来仔细阅读Hi ...
- Hibernate 基础配置及常用功能(二)
本章主要是描述几种经典映射关系,顺带比较Hibernate4.x和Hibernate5.x之间的区别. 一.建立测试工程目录 有关实体类之间的相互映射关系,Hibernate官方文档其实描述的非常详细 ...
- 3.Hibernate基础配置
1.Hibernate.cfg.xml:hbm2ddl.auto 在SessionFactory创建时,自动检查数据库结构,或者将数据库schema的DDL导出到数据库 <property na ...
- Hibernate学习笔记2.3(Hibernate基础配置)
映射,注释可以放在成员变量上面,也可以放在get方法上面 写在成员变量的话 破坏了java的面向对象思维 直接让hibernate访问内部的私有元素 要是能直接设指不合适哈哈 所以主张写在get方法上 ...
- Hibernate游记——装备篇《二》(基础配置示例)
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...
- Java进阶知识03 Hibernate的基础配置详解
1.Hibernate的原理/流程步骤 1.通过Configuration().configure(); 读取并解析hibernate.cfg.xml配置文件,并创建一个configuration对象 ...
- hibernate学习笔记(1)基础配置与jar包
下载hibernate基础jar包,并解压hibernate-core-4.2.4.final 在myeclipse中添加hibernate的dtd支持: location为D:\学习\imooc-h ...
随机推荐
- Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement
原因: 此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的.由于maven工程在默认情况下src/main/java目录下的mapper文件是不发布到targe ...
- python学习之路---day03
一:数据类型转换 1:bool-->int 将bool转成 int型 True 是1 False是0 a=True c=int(a) print(c) b=False d=int(b) prin ...
- O(1)乘法与快速乘O(log)
//O(1)快速乘 inline LL quick_mul(LL x,LL y,LL MOD){ x=x%MOD,y=y%MOD; return ((x*y-(LL)(((long double)x* ...
- POJ - 3261 后缀数组 height应用
题意:求最少重叠\(k\)次的重复子串的最大长度 子串长度问题依然是二分枚举,可以观察出重叠的一定是sa排序中连续的 之前想出一种判断要\(n^2\)的方法,没有考虑到后面肯定会连续出现的情况 (大概 ...
- 二叉堆(小到大)-数据结构-JavaScript版
/** * Created by caoke on 2015/11/21. */ //二叉树 特点父节点比子节点小 var Tree2=function(){ //初始化 二叉树的子元素 this.c ...
- 地牢逃脱----DFS搜索最优解
https://www.nowcoder.com/practice/0385945b7d834a99bc0010e67f892e38?tpId=85&tqId=29831&tPage= ...
- 【研究】XML外部实体注入(XXE)
在正式发布的2017 OWAST Top10榜单中,出现了三种新威胁: A4:XML外部实体注入漏洞(XXE) A8:不安全的反序列化漏洞 A10:不足的记录和监控漏洞 验证XXE: 构造请求 < ...
- centos 7更新yum源与更新系统
1.备份/etc/yum.repos.d/下的原有文件(假如你想保留原系统的yum源的话),举例 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...
- 前端 day 039
一 .html css js 三大基本语言 定义文档的结构:HTML 修饰文档的样式 : css 行为 : JavaScript HTML 全称 Hyper Text Mackeup Langua ...
- PIE SDK地图书签
地图书签,可以理解为暂时记录当前地图的范围和放大级别,在后续的操作中如果想回到地图之前的状态,就可以点击保存的书签就可以回到此状态,如图所示: 地图刚加载的时候是一幅世界地图 我们将地图的中心拖到南美 ...