1、注解的方式代替配置,更加简单,省去了配置文件。
主配置文件加载映射类;
实体使用注解,指定对应的表、字段等信息:
2、以下三个注解是必须的:
@Entity,注册在类头上,将一个类声明为一个实体entity(即一个持久化POJO类)
@Table(name=""),注册在类头上,注解声明了该实体bean映射指定的表(table)。
@Id:用来标识主属性列
3、其他常用:
@GeneratedValue(strategy=GenerationType.IDENTITY):标记主键生成策略,
@Column,标识列-属性:
name="列名"
length:长度,仅对String类型的字段有效,默认255
unique:该列是否设置唯一 默认false
nullable:该列是否可为空 默认false
时间的注解:
@Column(name = "createTime")
@Temporal(TemporalType.TIMESTAMP)精确到年月日时分秒毫秒
4、hibernate默认实体类的字段是数据库表字段,若不是,需要添加@Transient注解。
以上的@Id、@GeneratedValue、 @Column等可以写在属性也可写在属性对应的getter上。
其他注解:---了解
主配置文件加载映射类;
实体使用注解,指定对应的表、字段等信息:
2、以下三个注解是必须的:
@Entity,注册在类头上,将一个类声明为一个实体entity(即一个持久化POJO类)
@Table(name=""),注册在类头上,注解声明了该实体bean映射指定的表(table)。
@Id:用来标识主属性列
3、其他常用:
@GeneratedValue(strategy=GenerationType.IDENTITY):标记主键生成策略,
@Column,标识列-属性:
name="列名"
length:长度,仅对String类型的字段有效,默认255
unique:该列是否设置唯一 默认false
nullable:该列是否可为空 默认false
时间的注解:
@Column(name = "createTime")
@Temporal(TemporalType.TIMESTAMP)精确到年月日时分秒毫秒
4、hibernate默认实体类的字段是数据库表字段,若不是,需要添加@Transient注解。
以上的@Id、@GeneratedValue、 @Column等可以写在属性也可写在属性对应的getter上。
其他注解:---了解
@ManyToMany、@ManyToOne等。
附实例
package com.iflytek.cainiao.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
@Entity
@Table(name="user")
public class User implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(name="userName",length=32,nullable=false,unique=true)
private String userName;
@Column(name = "createTime")
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
@Transient
private String sex;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}