Hibernate 用@TableGenerator 生成Id

来源:互联网 发布:ubuntu 重置系统命令 编辑:程序博客网 时间:2024/05/21 23:33

package com.bjsxt.hibernate;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.SequenceGenerator;
import javax.persistence.TableGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

//本例有两个Generator
@Entity
@TableGenerator(
        name="Teacher_GEN",
        table="GENERATOR_TABLE",   
        pkColumnName = "pk_key",
        valueColumnName = "pk_value",
        pkColumnValue="Teacher",//从pk_key=Teacher的pk_value
        allocationSize=1//每一次拿出就出加多少
    )
/**
 *
 * 表: GENERATOR_TABLE
 *  pk_key            pk_value
 *  Teacher           1
 */
public class Teacher {
    private int id;
    private String name;
    private String title;

 
    @Id
    @GeneratedValue(strategy=GenerationType.TABLE, generator="Teacher_GEN")
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
   
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
   
}

原创粉丝点击