使用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

原文地址:https://www.cnblogs.com/hongwz/p/5402172.html