我的理解:
assigned需要自己赋值;
native identity需要自增
转自:http://chen.ch.j.blog.163.com/blog/static/1324171212010919325852/
assigned 与 native :
在用Hibernate的时候,当有表中的主键是库自动生成的时候将使用native。 而当是自己添加的时候则需要改为assigned。 因为assigned是指指定的,分配的, 如果你不赋予他值,那么他是不能实现的. 需要人工,自己把某个东西赋予给它 所以是assigned
native 与 identity :
修饰符,代表自增的意思,只是看你选择的数据库不同而选择不同,一般来说象SQL,MYSQL这类的数据库都是选择identity。在HIBERNATE配置中native是默认的,泛指的自增,也就是说除了oracle数据库外(oracle下用native需要用到一个叫hibernate_sequence的sequence),大部分数据库你都可以使用默认的native来代表自增。