hibernate 主键生成策略有三种:序列 自增 通用
1、序列 sequence
只能在oracle 和 DB2中使用
2、自增 identity
智能在sqlserver 和 mysql 中使用,同时建表的时候,设置列 为 auto increment。
3、通用 native
mysql 就用不了了
这个oracle中必须创建一个名字为 hibernate_sequence的序列。
第一个问题,应该是一样的,不过我具体没有试过,楼主可以试一下.
第二个问题,如果你使用hibernate的话 这些建表的语句 就不用你自己写了,完全是hibernate自动生成的 也就是说用对象实体映射来生成表,也不会出现楼主所说的那样的问题
那第三个问题 也就没有了 uuid是32位的一个字符串
前半部分你自己已经把自己问题都回答了。
至于关于uuid,uuid需要用字符串类型,int类型做ID时不能用uuid这个生成策略。
hibernate有自动从领域模型生成数据库表的能力。对程序员来说应该更多关注领域模型,生成表及表的关系交给ORM工具去完成就可以了。
咕~~(╯﹏╰)b没仔细研究过,oracle我就用sequence,sqlserver就用native,需要的时候用用那个什么要自己设定主键的,mysql没用过
hibernate
主键生成策略有三种:序列
自增
通用
1、序列
sequence
只能在oracle
和
DB2中使用
column="id">
name="在数据库中创建的sequence名字"/>
2、自增
identity
智能在sqlserver
和
mysql
中使用,同时建表的时候,设置列
为
auto
increment。
column="id">
3、通用
native
mysql
就用不了了
这个oracle中必须创建一个名字为
hibernate_sequence的序列。
column="id">