identifier generator(注解hibernate 唯一标识)

    技术2022-05-20  44

    package bean; 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; @Entity @Table(name="Table_Email2") public class Email { private int id; private Date registerdate; private String server; public Email() { } public void setId(int id) { this.id = id; } @Id//使用注解标识主键 //1.mysql generator 自动增长 //@GeneratedValue(strategy=GenerationType.IDENTITY) /* 2.Oralce 支持 @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_GEN") @javax.persistence.SequenceGenerator( name="SEQ_GEN",//被引用名字 sequenceName="class",//列的名字 initialValue=1,//初始值为1 allocationSize=20//增长因子 )*/ //3.table 可以支持数据库移植 //生成一个表,列名分别为S_ID,S_NEXTNUM,值分别为 inventory,1(而Emial 中id值为1000) //当插入一条email记录时候,对应记录会被修改为inventory,2(而Emial 中id值为2000) @javax.persistence.TableGenerator(name = "inventory", table = "U_SEQUENCES", pkColumnName = "S_ID",//键(列名) valueColumnName = "S_NEXTNUM",//值(列名) pkColumnValue = "inventory",//键初始值 allocationSize = 1000//增长因子 ) @GeneratedValue(strategy = GenerationType.TABLE, generator = "inventory") public int getId() { return id; } public void setRegisterdate(Date registerdate) { this.registerdate = registerdate; } @Temporal(TemporalType.TIME)//表示时间,用不同属性 可以表示时间的不同精度 public Date getRegisterdate() { return registerdate; } public void setServer(String server) { this.server = server; } @Column(name="_server",length=3)//更改在表中显示的列名 public String getServer() { return server; } }


    最新回复(0)