繁体   English   中英

如何保存分配了ID的对象

[英]How to save the object with assigned id

class User {
    @GeneratedValue(strategy = GenerationType.AUTO)
    int id; 
}
User user1 = new User();
session.save(user1); //may be I can got user1.id = 10
User user2 = new User();
user2.id = 20;
session.save(user2); //The user2.id may be 11

如何保存user2且ID为20?

我认为冬眠中没有可用的此类选项。 除了AUTO之外 ,您还可以尝试以下策略选项:

GenerationType.TABLE-持久性提供程序使用数据库表来管理密钥。

GenerationType.SEQUENCE-持久性提供程序使用数据库序列进行密钥生成。 数据库必须支持序列

GenerationType.IDENTITY-持久性提供程序根据数据库进行密钥生成。 数据库必须支持IDENTITY列类型。

还有一点:它也会降低性能。 对于每个插入,它将必须搜索整个ID列。 您可以想象它将对性能产生多大影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM