Manual inserts while using hibernate @GeneratedValue Manual inserts while using hibernate @GeneratedValue oracle oracle

Manual inserts while using hibernate @GeneratedValue


Of course that's possible, we're doing that all the time. Whether and how depends on the id generation strategy you use and how your database is set up.

We're using a (customized) table generator that generates positive ids so whenever we need to manually insert elements we use negative ids. That way those ids don't interfere with Hibernate's id generation and we are able to immediately identify manually inserted rows.

If you don't like negative ids you could use a different generation strateg, e.g.

  • a sequence on the id column that is used by Hibernate as well as manual inserts
  • a high-low table generator (that's what we're using) with the initial low value set to some higher value and thus essentially reserving the lower positive values for manual inserts)
  • an "assigned" id generator, i.e. your application defines the id (e.g. an employee's employee-id) and thus you'd know which ids can be added manually


See, @GeneratedValue will only work if You call hibernate API.

To use Autoincrement values, we don't need hibernate @GeneratedValue feature.

You can enable the auto to generate from Database itself. mark a column auto generate.

Refer to :

https://chartio.com/resources/tutorials/how-to-define-an-auto-increment-primary-key-in-oracle/

While inserting don't include the column name and values in your bulk insert Query for column marked as Auto increment.