使用javax.persistence注解配置PO对象

时间:2023-03-09 15:26:10
使用javax.persistence注解配置PO对象

JPA注解持久化类很方便,需要jar包:ejb3-persistence.jar下载

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table; import org.hibernate.annotations.Parameter; @Entity
@org.hibernate.annotations.GenericGenerator(name = "S_USER_ID", strategy = "sequence", parameters = {
@Parameter(name = "sequence", value = "S_USER_ID") })
@Table(name = "USER")
public class ContractAttachPO implements Serializable{ /**
* 序列号版本
*/
private static final long serialVersionUID = 1393027357708703114L; // Fields /**
* 合同id.
*/
private Long userId; /**
* 用户名.
*/
private String userName; // Property accessors /**
* 获取 .
*/
@Id
@GeneratedValue(generator = "S_USER_ID")
@Column(name = "USER_ID", precision = 16, scale = 0)
public Long getUserId() {
return userId;
} /**
* 设置 .
*/
public void setUserId(Long userId) {
this.userId = userId;
} /**
* 获取 .
*/
@Column(name = "USER_NAME")
public String getUserName() {
return userName;
} /**
* 设置 .
*/
public void setUserName(Long userName) {
this.userName = userName;
}
}
注释说明:
1.@Entity //说明此java类是实体类
2.@org.hibernate.annotations.GenericGenerator(name = "S_USER_ID", strategy = "sequence",
parameters = { @Parameter(name = "sequence", value = "S_USER_ID") })
导入import org.hibernate.annotations.Parameter,是自动生成oracle序列的方法。调用创建好的序列:S_USER_ID来自动生成。
3.@Id //说明是主键(@Id此注解不能省略,不然Hibernate在调用po进行ORM操作的时候,会出现错误,千万不要认为主键不是自增,就不用指定主键了)
@GeneratedValue(generator = "S_USER_ID") //主键的生成方式
4.@Table(name = "USER") //指定数据库对应的表
5.@Column(name = "USER_NAME") //数据库字段和类属性对应关系
@Column注解配置项还有很多,具体可以了解javax.persistence的注解说明 ***** 如果对PO(简单java对象)不了解可以查看前面

POJO(PO)与javaBean的比较、以及DTO的说明

 在不经意间看了这一篇注解的详细,写得非常详细,可以参考一下http://www.cnblogs.com/yangy608/archive/2012/09/25/2701514.html