1,xml生成id
generator:常用四个:native、identity、sequence、uuid。
Annotation:
1,@GeneratedValue:
a)自定义ID
b)AUTO:
i,默认:对mysql,使用auto_increment
ii,对oracle使用hibernate_sequence(名称固定)
c)IDENTITY
d)SQUENCE
i,@SequenceGenerator
e)TABLE
i,TableGenerator
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.oracle.hibernate.id"> <class name="Student"> <id name="id"> <!-- identity,对DB2,MySQL,SQL Server, Sybase等,int类型。 --> <!-- <generator class="identity"/> --> <!-- native,数据库会帮你选择使用identity,还是sequence,还是lilo,我们不用管。 --> <!--<generator class="native"/>--> <!-- oracle,DB2等的序列 sequence--> <!-- <generator class="sequence"/> --> <!-- uuid,universal unique identification,必须是String类型才能生成生成--> <generator class="uuid"/> </id> <property name="name"/> <property name="age"/> <property name="sex"/> </class> </hibernate-mapping>
uuid生成的主键如图所示: