8.annotation配置id产生策略

在@id下面,使用

mysql使用:

@GeneratedValue(strategy = GenerationType.IDENTITY)

数据库自动选择:

@GeneratedValue(strategy = GenerationType.AUTO)

如果使用Table_Generator则可以跨数据库平台。

hibernate建立一个表为多个表提供主键值,这个主键值是integer类型的。它的用法是在实体bean前面定义表的名字,列名,以及记录值。用法,参照马士兵的视频截图如下:

 

table_generator

@javax.persistence.TableGenerator(
    name="生成器名",
    table="生成器表名",
    pkColumnName = "生成器表名的列名",
    valueColumnName = "生成器表名的列名"
    pkColumnValue="待生产主键的表名",
    allocationSize=主键值的跨度
)

然后,在getId()方法前面,显示声明Id生成器:

    @Id
    //@GeneratedValue(strategy = GenerationType.AUTO)
    @GeneratedValue(strategy = GenerationType.TABLE,generator="Teacher_Generator")
    public int getId() {
        return id;
    }
posted @ 2013-09-23 11:18  FishBird  阅读(245)  评论(0)    收藏  举报