Seq-hilo Algorithm
- Seq-hilo algorithm is able to generate primary key values on the basis of the sequence value provided by the underlying database and the mapping file provided max_lo property value.
- This algorithm is almost all same as hilo algorithm but in “seqhilo” algorithm we will get sequence value in place of the high value from Global resource.
- This algorithm is able to generate primary key values of the data types like short, int and long.
- This algorithm is represented by Hibernate software in the form a short name like “seqhilo” and a predefined class name like “org. hibernate.id.SequenceHiLoGenerator”.
- This algorithm is supported by almost all the databases which are supporting sequences internally.
- This algorithm is required the following two input parameters.
- sequence: It will take sequence name provided by Database.
- max_lo : It will provide low value.
Note: If we have not provided “sequence” input parameter then hibernate software will search for the default sequence name like “hibernate_sequence”.
E.g
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.ashok.hibernate.sample.model.Employee" table="emp">
<id name="id" type="int" column="id">
<generator class="seqhilo">
<param name="sequence">my_sequence</param>
<param name="max_lo">10</param>
</generator>
</id>
<property name="empName" column="emp_name" type="string" />
<property name="address" column="address" type="string" />
<property name="salary" column="salary" type="float" />
</class>
</hibernate-mapping>
Seq-hilo Algorithm