I have this part of hibernate mapping xml file, and I was looking for a good example for what does native mean.
<hibernate-mapping>
<class name="com.hib.Task" table="tasks">
<id name="id" type="int" column="id" >
<generator class="native"/>
</id>
I know it's something related to unique identifier property, but I would really like to have an example.
Sorry for the newbie question, I'm new to hibernate and programming in general :) Thank you!
Native means Your generator will use identity or sequence columns according to what your current database support. selects identity, sequence or hilo depending upon the capabilities of the underlying database. lets the application assign an identifier to the object before save() is called.
SEQUENCE is the generation type recommended by the Hibernate documentation. The generated values are unique per sequence. If we don't specify a sequence name, Hibernate will reuse the same hibernate_sequence for different types.
Sr.No. This property makes Hibernate generate the appropriate SQL for the chosen database. The JDBC driver class.
Native means Your generator will use identity or sequence columns according to what your current database support.
Docs explained about each strategy here
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/mapping.html#mapping-declaration-id
native
selects identity, sequence or hilo depending upon the capabilities of the underlying database.
assigned
lets the application assign an identifier to the object before save() is called. This is the default strategy if no element is specified.
For example: In Mysql if you have primary key column as a auto_increment, the db will be updated using this strategy
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With