在hibernate映射文件中用来设置对象标识符,子元素用来设置标识符生成器。(就是设置主键id如何增长)
- increment:由hibernate以递增的方式为主键赋值,先读取表中id的最大值,插入记录时在max(id)上递增,递增1。——不依赖底层数据库系统,只适用于单个应用进程访问。
- identity:有底层数据库来负责生成标识符,要求底层数据库把主键设置为自动增长字段类型。底层数据库必须支持自动增长数据类型:DB2,MySq……
- sequence:利用底层数据库提供的序列来生成标识符。—–底层数据库必须支持序列:DB2,Oracle。
- hilo:由hibernate按照一种high/low算法 生成标识符,他从数据库的特点表的字段中获取high值。在hibernate持久化一个对象时,由hibernate负责生成主键值。—–hilo生成标识符机制不依赖于底层数据库。
- native:根据底层数据库对自动生成标示的支持能力自动,来选择使用dientity,sequence,hilo。 —–适合跨平台