identity:代理主键,适合于mysql或ms
sql
server等支持自增的dbms,主键值不由hibernate维护。
sequence:代理主键,适合于oracle等支持序列的dbms,主键值不由hibernate维护,由序列产生。
native:代理主键,根据底层数据库的具体特性选择适合的主键生成策略,如果是mysql或sqlserver,选择identity,如果是oracle,选择sequence。
hilo:代理主键,hibernate把特定表的字段作为hign值,生成主键值
uuid.hex:代理主键,hibernate采用uuid
128位算法生成基于字符串的主键值
assign:适合于应用程序维护的自然主键。
想要实现安全的自增只能使用hibernate维护得自增属性identity,或者使用开发者自己维护id值assign。如果使用identify,经过测试发现使用无论开发者是否给对象的id赋值,hibernate在保存对象时会自动给id赋值(为mysql表中id最大值+1);如果使用assign,用户在保存对象前必须给对象的id赋值,值必须大于等于0,如果等于0时,那么数据表id记录会使用mysql数据库维护的最大id+1,如果大于0时,则表id则为用户设置的对象的id值。
经过实验得出,想要实现mysql的sql语句句式以及最终效果,需要设置hibernate配置文件的id自增属性为assign,如果知道id的话则设置对象的id为已知的id,否则设置id的值为0,。
如果id自增属性为assign,那么hibernate保存对象后,对象的id仍然为保存前设置的值;
如果id自增属性为identity,那么hibernate保存对象后,对象的id为数据库中该条记录的id的值。
计算机二级mysql无法找到数据库的解决方法如下:1、关闭mysql,service mysqld stop。
2、启动mysql:mysqld_safe --skip-grant-tables。
3、再打开一个ssh连接服务器,进行mysql *** 作。
二级MySQL数据库程序设计是全国计算机等级考试的一个二级考试项目。
考试大纲(2013版)如下:
1、掌握数据库技术的基本概念和方法。
2、熟练掌握MySQL的安装与配置。
3、熟练掌握MySQL平台下使用SQL语言实现数据库的交互 *** 作。
4、熟练掌握MySQL的数据库编程。
5、熟悉PHP应用开发语言,初步具备利用该语言进行简单应用系统开发的能力。
6、掌握MySQL数据库的管理与维护技术。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)