@Entity
@javax.persistence.SequenceGenerator(
name="SEQ_STORE",
sequenceName="my_sequence"
)
create table S_Depart (
@Id @GeneratedBalue(stratey=GenerationType.SEQUENCE,generator="SEQ_STORE")
private Long DepartId ;
@Column("depart_name")
private String DepartName ;
@Basic
private int DepartOrder ;
);
Oracle 自增长
一个简单的例子:
create sequence my_sequence
minvalue 1
maxvalue 99999999
start with 1
increment by 1
nocache
order;
建处发器代码为:
create or replace trigger tri_test_id
before insert on S_Depart --S_Depart 是表名
for each row
declare
nextid number;
begin
IF :new.DepartId IS NULL or :new.DepartId=0 THEN --DepartId是列名
select SEQ_ID.nextval --SEQ_ID正是刚才创建的
into nextid
from sys.dual;
:new.DepartId:=nextid;
end if;
end tri_test_id;
OK,上面的代码就可以实现自动递增的功能了。
<id name="id" column="id">
<generator class="sequence">
<param name="sequence">my_sequence</param>
</generator>
</id>