您的位置:首页 > 其它

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 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: