基于Annotation注解实现数据的CURD
hibernate注解主要解决实体类和*.hbm.xml的配置问题
hibernate使用注解后,hibernate.cfg.xml不再需要大量的mapping
<mapping class="cn.edu.scnu.annotationcurd.entity.User/>
<mapping package="cn.edu.scnu.annotationcurd.entity"/>
实体类注解实现
package cn.edu.scnu.annotationcurd.entity;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
/**
* 1. 使用@Entity注解表示实体类
* 2. 使用@Table注解表示数据库 name-数据表名 catalog-数据库名
* 3. 使用@Id注解表示主键
* 4. @GeneratedValue(generator = "native")
* @GenericGenerator(name = "native",strategy = "native")
* 指定主键生成策略
* 5. 使用@Column表示列,unique-唯一 nullable-是否可为空
*/
@Entity
@Table(name = "users",catalog = "hibernate")
public class User {
@Id
@GeneratedValue(generator = "native")
@GenericGenerator(name = "native",strategy = "native")
@Column(name = "id",unique = true,nullable = false)
private Integer id;
@Column(name = "username",length = 16,nullable = false)
private String username;
@Column(name = "password",length = 16,nullable = false)
private String password;
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 String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}