2011-05-16 43 views
0

我正在使用GWT在嵌入式Winstone服务器上运行的Web应用程序,并将Derby用作具有持久性管理器的数据库。
我正在生成一个长ID的持久类,它由IdGeneratorStrategy.IDENTITY生成。
问题是,当我关闭我的应用程序时,IdGeneratorStrategy试图用相同的id创建这个类的一个对象,因为它不知道在数据库中是否已经赋予另一个对象相同的id,这会导致错误表示两个约束具有相同的一组列。在关闭系统之后获取由IdGeneratorStrategy生成的ID

因此,我需要能够告诉IdGenerator获取最新的ID并创建一个不同的新ID。

这个发生器可以吗?

或者我需要将ID保存在数据库中的表中,并始终采用最后一个ID并“手动”生成它?

回答