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?
答案 0 :(得分:0)
我认为hibernate中没有这样的选项。您也可以尝试以下策略选项,而不是 AUTO :
GenerationType.TABLE - 持久性提供程序使用数据库表来管理密钥。
GenerationType.SEQUENCE - 持久性提供程序使用数据库序列进行密钥生成。数据库必须支持Sequences
GenerationType.IDENTITY - 持久性提供程序遵循数据库进行密钥生成。数据库必须支持IDENTITY列类型。
另一点:它也会降低性能。对于每个插入,它必须搜索整个ID列。你可以想象它会对性能产生多大的影响。