Hibernate的注解使用:
只写了基本的,无用代码自动省略
xml配置文件hibernate的xml配置方式
hibernate注解的使用方式:
hibernate默认文件的的配置:
其他的与xml方式的相同,不过在映射标签内,resource属性改为了class属性(没有了POJO类的配置文件,改用了注解,所有直接解析注解类就好)
<mapping class="pojo.Person" />
映射类的注解配置:
@Entity
@Table(name="Person") //name 表名,如果和类名相同可以不写
public Person{
@Id // 标记主键
//第一种注解生成策略
//@GeneratedValue(strategy=GenerationType.IDENTITY)//设置生成策略 auto identity table sequence
// 第二种
@GeneratedValue(generator="increment")//设置主键生成方式
@GenericGenerator(name="increment", strategy = "increment")
/*name和generator的值相同 strategy为hibernate中的主键生成策 略,increment属性必须是int,long,short*/
private Integer id;
@Column(name="name",nullable=false,length=50)
//name字段名,unique是否唯一,nullable是否可以为空
private String name;
//多对一
@ManyToOne(cascade=CascadeType.All) // 管理映射关系 关系维护
@JoinColumn(name="deptId") //指明外键
private Dept deptId;
//无参构造,set/get方法
}
Dept 类不用设置///
///双向 Dept/
public Dept(){
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(nullable=false,length=50)
private Integer idNum;
@OneToMany(mappedBy="idCard",cascade={CascadeType.ALL})
private Set<Person> persons = new HashSet<Person>();
//get,set方法,无参构造
}
///Person 设置 和单向的一样设置 /