Hibernate 用@TableGenerator 生成Id

原创 2013年12月03日 11:21:12

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;
    }
   
}

探索 Hibernate 新 TableGenerator 机制 @TableGenerator

Hibernate 从 3.2.3 之后引入了两个新的主键生成器 TableGenerator 和 SequenceStyleGenerator。为了保持与旧版本的兼容,这两个新主键生成器在默认情况下...
  • huzhigenlaohu
  • huzhigenlaohu
  • 2015年01月14日 10:42
  • 1659

Hibernate中Id的table生成策略

@Entity @Table(name = "Tbl_Student") public class Student {  private int id;  @Id  @TableGe...
  • woshixuye
  • woshixuye
  • 2012年02月21日 09:42
  • 2889

hibernate使用table生成主键

实体配置: @Entity @Table(name = "EMPLOYEE") public class Employee implements java.io.Serializable{  ...
  • tengdazhang770960436
  • tengdazhang770960436
  • 2012年10月04日 20:18
  • 1816

hibernate主键生成策略 @GeneratedValue 与 @GenericGenerator

本文出自:http://hi.baidu.com/hicc2012/item/4f73e7011f5daf20a1312d51# 一、JPA通用策略生成器  通过annotatio...
  • yuanmuxingchen
  • yuanmuxingchen
  • 2015年09月13日 16:44
  • 2309

hibernate 反向生实体类 and 为什么老是多一个id

创建web工程,使用Hibernate的时候,在工程里一个一个创建实体类太麻烦,浪费时间,现在教大家如何用MyEclipse自动生成Hibernate映射文件及实体类 方法/步骤 ...
  • lili518
  • lili518
  • 2017年04月01日 20:32
  • 392

hibernate的ID生成策略

hibernate的ID生成策略探究
  • u011526599
  • u011526599
  • 2016年04月14日 23:34
  • 4045

hibernate反向生成实体类多一个id类的原因

hibernate反向生成实体类多一个id类的原因: 数据库表没有设置主键,
  • peterxiaoq
  • peterxiaoq
  • 2014年10月08日 14:01
  • 4357

表生成器(@TableGenerator)使用注意事项

用途:将当前主键的值单独保存到数据库的一张表里去,主键的值每次都是从该表中查询获得,适用于任何数据库,不必担心兼容问题。 常规配置,看下面例子: @Id @Column(name = "id...
  • sdaq23
  • sdaq23
  • 2017年07月24日 10:14
  • 303

hibernate id 联合主键生成策略

如果数据库中用多个字段而不仅仅是一个字段作为主键,也就是联合主键,这个时候就可以使用hibernate提供的联合主键生成策略。  具体如下:  可以使用一个组件作为一个实体类的标识符。你的...
  • caomiao2006
  • caomiao2006
  • 2016年07月10日 20:59
  • 842

hibernate的id手动设置

在项目中要将一个带id的实体保存到数据库中,但是发现保存到数据库时,数据是保存到数据库中,但是id的主键却被改变了,最后找到了原因在hibernate的xml的主键生成策略选择错误。改为下面的就可以了...
  • u011662320
  • u011662320
  • 2017年03月21日 16:02
  • 625
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate 用@TableGenerator 生成Id
举报原因:
原因补充:

(最多只允许输入30个字)