Hibernate框架开发笔记 lesson5
来源:互联网 发布:淄博网站seo 编辑:程序博客网 时间:2024/06/05 21:18
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 Manager
hibernate-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>
- Hibernate框架开发笔记 lesson5
- spring框架开发笔记 lesson5 三大框架整合
- Oracle数据库开发笔记 lesson5
- Hibernate框架开发笔记lesson1 Hibernate编程
- VC++笔记(Lesson5-Lesson7)
- hibernate框架开发笔记 lesson3 HQL
- lesson5
- Hibernate框架开发笔记 lesson2 关联关系映射
- hibernate框架学习笔记
- Hibernate框架笔记
- Hibernate框架初学笔记
- Hibernate框架自学笔记
- 数据结构算法笔记 lesson5 静态链表
- C语言提高班学习笔记 lesson5 编译
- C++学习笔记 lesson5 运算符重载
- Hibernate开发指南笔记
- hibernate开发笔记
- 开发笔记-Hibernate
- NOIP2010(3)导弹拦截
- 记录-新建一个web应用的过程与曲折
- 面试题11:数值的整数次方
- oracle数据库互操作dblink使用方法
- 信息采集
- Hibernate框架开发笔记 lesson5
- 嗯~有意思的Dialog动画
- http协议
- 使用 STL 辅助解决算法问题
- HTTP协议详解
- 关于JDBC导入mysql的jar驱动的头痛
- sping boot devtools 不生效解决办法
- Android中播放本地SD卡中歌曲需要的添加的权限
- SVN 代码版本管理软件