自动和手动设置ID(PK)生成值

自动和手动设置ID(PK)生成值,第1张

自动和手动设置ID(PK)生成

您可以为此目的定义您的自定义ID生成器,如本SOAnswer中指出的那样

它的代码如下所示:

@Id@Basic(optional = false)@GeneratedValue(strategy=GenerationType.IDENTITY, generator="IdOrGenerated")@GenericGenerator(name="IdOrGenerated",strategy="....UseIdOrGenerate")@Column(name = "ID", unique = true, nullable = false, precision = 20, scale = 0)public Long getId(){..}

  public class UseIdOrGenerate extends IdentityGenerator {        @Override    public Serializable generate(SessionImplementor session, Object obj) throws HibernateException {        if (obj == null) throw new HibernateException(new NullPointerException()) ;        if ((((EntityWithId) obj).getId()) == null) {//id is null it means generate ID Serializable id = super.generate(session, obj) ; return id;        } else { return ((EntityWithId) obj).getId();//id is not null so using assigned id.        }    }}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4946830.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存