我正在开发一个用于安排物流配送的web应用程序。我使用Java、JSF 2.0和Oracle-XE作为数据库。在Oracle-XE中,我实现了序列和触发器来自动递增某些属性的ID。我的问题是,如果我执行应用程序来添加一个新客户,那么我需要从数据库中检索递增的ID,然后将其保存在我的customer对象中。有没有其他方法可以直接从数据库中获取递增的ID?我不喜欢使用数据库中的ID为SELECTing的解决方案。
谢谢
发布于 2011-05-20 06:45:29
如果通过JDBC直接对数据库发出SQL (如果使用的是对象-关系映射层,则API可能支持类似的内容),则可以在插入期间使用RETURNING子句。就像这样
INSERT INTO table_name( column1, column2, ... , columnN )
VALUES( :1, :2, ... , :N )
RETURNING key_column INTO :new_key这将返回触发器为KEY_COLUMN列填充到:new_key绑定变量中的值。
https://stackoverflow.com/questions/6065238
复制相似问题