I've requested an updatable ResultSet and my driver supports them, but I still don't get an updatable ResultSet. Why?

Joe Sam Shirah

Aside from driver bugs, some queries cannot be updatable due to identification, integrity or DB limitation issues. For that reason, ResultSet.getConcurrency() generally should be invoked to determine if an updatable ResultSet was returned.

For more information and a list of guidelines that should return an updatable ResultSet, see 5.1.17 Queries That Produce Updatable Result Sets.