Mysql 获取下一个id

Mysql 获取下一个id,mysql,nhibernate,Mysql,Nhibernate,我的问题是如何在mysql db中使用NHibernate为自动增量id列获取下一个id 谢谢,如果您这样做,您将创建一个比赛条件。为了回答您的问题,我认为Hibernate没有一种特定的方式提供这些信息,因为没有任何应用程序可以提供这些信息。通过获取“下一个id”,当它将数据返回给您时,它可能已经无效。我能想到的最简单的方法是获取并向其添加+1 为什么不发布更多关于您正在努力完成的任务的信息,我们可以为您找到更好的解决方案?根据您在下面给出的进一步描述(作为回答?),我认为您确实在寻找NHib

我的问题是如何在mysql db中使用NHibernate为自动增量id列获取下一个id


谢谢,

如果您这样做,您将创建一个比赛条件。为了回答您的问题,我认为Hibernate没有一种特定的方式提供这些信息,因为没有任何应用程序可以提供这些信息。通过获取“下一个id”,当它将数据返回给您时,它可能已经无效。我能想到的最简单的方法是获取并向其添加+1


为什么不发布更多关于您正在努力完成的任务的信息,我们可以为您找到更好的解决方案?

根据您在下面给出的进一步描述(作为回答?),我认为您确实在寻找NHibernate功能,以自动读回数据库生成的ID:


这将告诉NHibernate ID的值是由数据库在insert时确定的,它不会将值作为insert语句的一部分发送,并且在执行insert后将读回ID列的值。但是您必须告诉数据库(在表定义中),它应该为插入的每个记录自动生成ID列的值…

如果您是数据库的唯一写入者,那么您可以让应用程序为您维护序列号并自己分配下一个编号

如果要执行此操作,则需要确保应用程序计数器是线程安全的


重新启动应用程序时,您还需要一种获取上次写入的序列号的方法。

请小心。如果在某人向表中添加另一条记录前一微秒获得下一个id,则您的id将不再是下一个id。我是唯一一个使用dbI的人,我详细解释了我的问题。