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 ...
随机推荐
- 原生JS实现返回顶部和滚动锚点
;(function (window,doc,undefined) { function rollingAnchor(){ this.timer =''; } rollingAnchor.protot ...
- 【转】org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be res
如图所示: 看网上的解决方案,有的说是jstl的版本问题,1.0版本引入使用的时候加的uri不带有jsp路径的,1.2的带有/jsp路径,还有的说是依赖冲突的问题,最后尝试了都不行,只有一招能够行的通 ...
- Apache 去掉 www
1 用phpstudy的网友打开“其他选项菜单”- “配置文件”-httpd-conf.找到 #LoadModule rewrite_module modules/mod_rewrite.so 把这一 ...
- liunx 安装 phpstudy
phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6 phpStudy for Linux 支持Apache/Ng ...
- C++_类继承3-动态联编和静态联编
程序调用函数时,将使用哪个可执行代码块呢?编译器负责回答这个问题. 将源代码中的函数调用解释为特定的函数代码块被称为函数名联编(binding). 在C语言中,这非常简单,因为每个函数名对应一个不同的 ...
- js请求数据的例子
//es6实现方式 const getData = async ()=> { //同步请求数据 const res1=await this.$http.get("https://www ...
- IDEA查看第三方jar包的源代码时出现Decompiled.class file, bytecode version:52.0 (Java 8)的解决方案
IDEA中使用Ctrl+左键查看第三方jar包的源代码时,出现Decompiled.class file, bytecode version:52.0 (Java 8),说明IDEA没找到该类的.ja ...
- baidumapapi点线面的绘制已离线化
百度API离线化 baidumapapi2.0商用是要收费的,开发者使用也要申请个Key. 有个项目要用到点线面的绘制功能,在百度的API示例中发现有这样js封装(DrawingManager_min ...
- golang context 剖析 1.7.4 版本
1. 内部结构之 - timerCtx . type timerCtx struct { cancelCtx timer *time.Timer // Under cancelCtx.mu. dead ...
- journalctl 中文手册
版权声明 本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布. 无担保:本文译者不保证译文内容准确无误,亦不承担任何由于使用此文档所导致的损失. 自由使用:任何人都可以自 ...