sequence:DB二、Oracle均支持的序列,用於爲long、short或int生成惟一標識
數據庫中的語法以下:
Oracle:create sequence seq_name increment by 1 start with 1;
須要主鍵值時能夠調用seq_name.nextval或者seq_name.curval獲得,數據庫會幫助咱們維護這個sequence序列,保證每次取到的值惟一,如:
insert into tbl_name(id, name) values(seq_name.nextval, ‘Jimliu’);
<id name="id" column="id" type="long">
<generator class="sequence">
<param name="sequence">seq_name</param>
</generator>
</id>
若是咱們沒有指定sequence參數,則Hibernate會訪問一個默認的sequence,是hibernate_sequence,咱們也須要在數據庫中創建這個sequence
此外,sequence還能夠有另一個參數是paramters,能夠查看Hibernate的API瞭解它的用法,見org.hibernate.id.SequenceGenerator
調用數據庫的sequence來生成主鍵,要設定序列名,否則hibernate沒法找到:
<param name="sequence">NAME_SEQ</param>(Oracle中很經常使用)數據庫