【问题标题】:How to auto fill a primary key(surrogate) column using hibernate如何使用休眠自动填充主键(代理)列
【发布时间】:2012-09-04 10:24:14
【问题描述】:

我有一个名为“uniqueid”的列,我需要仅输入偶数以递增方式。我正在使用 Hibernate 将数据插入表中。我在 Hibernate 中遇到了这个功能,其中 Hibernate 本身使用注释 @Generated value 将数据插入主键列。但它默认为一次增加一个值。如何从 2 开始将增量值指定为 2,以便在每个对象的“唯一 ID”列中自动填充所有偶数。

【问题讨论】:

    标签: hibernate primary-key hibernate-annotations


    【解决方案1】:

    您可以指定一个自定义生成器,然后您可以在一个类中声明它:

    @GeneratedValue(generator="MyGenerator")  
    @GenericGenerator(name="MyGenerator", strategy="somePackage.someSubPackage.MyGenerator",  
        parameters = { @Parameter(name="tableName", value="test_table") } )  
    

    你的生成器类也需要实现PersistentIdentifierGenerator

    【讨论】:

    • 我部分同意您的回答,但我的期望是“自定义生成器类的格式是什么?”我应该怎么写?我需要什么来创建这样一个自定义生成器类。如果你能告诉我他们会很有帮助
    猜你喜欢
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2011-12-12
    • 2015-06-18
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多