Hibernate框架开发笔记 lesson5
2016-09-06 08:52
197 查看
hibernate注解开发:
替换 *.hbm.xml@Entity
将一个类声明为一个实体bean(即一个持久化POJO类)
@Id
声明了该实体bean的标识属性(相当于数据表的主键)
@GeneratedValue
定义标识符的生成策略
@Table
为实体bean映射指定表(table)、目录(catalog)和schema的名字。默认值:实体bean的类名,不带包名
@UniqueConstraint
定义表的唯一约束
@Lob
表示属性将被持久化为Blob或者Clob类型
@Column
将属性映射到列
@Transient
将忽略这些字段和属性,不用持久化到数据库
@NamedQuery
配置命名查询
@OneToOne
建立实体bean之间的一对一关联
@OneToMany
建立实体bean之间的一对多关联
@ManyToOne
建立实体bean之间的多对一关联
@ManyToMany
建立实体bean之间的多对多关联
引入JAR包
myeclipse自带 Hibernate 3.3 Annotation & Entity Managerhibernate-annotations.jar 、 hibernate-commons-annotations.jar
实体类注解
@Entity@Table(name="dept") 默认为类名小写
public class Dept implements java.io.Serializable {
private Integer dno;
private String dname;
private String loc;
//关系属性
private Set<Emp> emps = new HashSet<Emp>(0);
public Dept() {
}
public Dept(String dname, String loc, Set emps) {
this.dname = dname;
this.loc = loc;
this.emps = emps;
}
@Id //主键字段对应的属性
@GeneratedValue(strategy=GenerationType.AUTO) //主键生成器
public Integer getDno() {
return this.dno;
}
public void setDno(Integer dno) {
this.dno = dno;
}
@Basic 可以不加
@Column(name="name") 字段同名可不配
public String getDname() {
return this.dname;
}
public void setDname(String dname) {
this.dname = dname;
}
@Basic
public String getLoc() {
return this.loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
@OneToMany(mappedBy="dept"(emp的关系属性,通过属性找外建),cascade=CascadeType.ALL,fetch=FetchType.LAZY)
public Set<Emp> getEmps() {
return emps;
}
(对应的emp:
@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumn(name="dno")
@JoinColumn(name="dno")
public Dept getDept() {
return this.dept;
} )
public void setEmps(Set<Emp> emps) {
this.emps = emps;
}
}
hibernate.cfg.xml
<!-- 如果用的是注解开发 需要通过class属性配置加有注解的实体类路径 -->
<mapping class="entity.Dept"/>
<mapping class="entity.Emp"/>
HibernateUtils
加载带有的注解的主配置文件
private static AnnotationConfiguration configuration = new
AnnotationConfiguration();
<!-- 作用:可以通过hbm.xml或者注解生成建表结构 -->
<property name="hbm2ddl.auto">create</property>
相关文章推荐
- 三国杀全武将台词大全(标准+神话再临+一将成名12345+SP+国战+其他+皮肤,更新中)
- 信息采集
- 记录-新建一个web应用的过程与曲折
- 短信拦截马”黑色产业链与溯源取证研究
- MATLAB命令大全
- 手机网站的几点注意
- NOIP2010(3)导弹拦截
- EBS查找某职责下的用户sql
- fastdfs分布式文件系统之JAVA client工具类封装
- java反射机制基础笔记
- postgreSQL组合查询
- Python3 codecs库基本使用
- PHP CI框架的安装配置和简单使用
- Android基础第八篇
- 欢迎使用CSDN-markdown编辑器
- plsql安装注意事项
- mr的Demo
- win8 设置
- The following processes: -cmd.exe -java.exe are locking the following directory:
- MySQL utf8mb4字符集:支持emoji表情符号