社区
Java EE
帖子详情
Hibernate主键一定是id么?
feitianlongyi1115
2010-01-13 10:51:36
Hibernate主键一定是id么?我用表中的username最为主键,String类型,如何再设置主键增长类型啊?总是报错,说id为空。谢谢
...全文
297
9
打赏
收藏
Hibernate主键一定是id么?
Hibernate主键一定是id么?我用表中的username最为主键,String类型,如何再设置主键增长类型啊?总是报错,说id为空。谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hoojo
2010-01-13
打赏
举报
回复
整型才自增,Stirng 的不行。用uuid也行啊。
hanle0708
2010-01-13
打赏
举报
回复
用uuid自己设置id
licip
2010-01-13
打赏
举报
回复
String这咱类型是不能自动增长的,但可以自动编号,使用:<generator class="uuid" />不错呀。
dinghun8leech
2010-01-13
打赏
举报
回复
当然可以定义成别的!
阿_布
2010-01-13
打赏
举报
回复
一般都是把id设置为主键,不是一定要作为主键,可以没有id字段,要hibernate自动赋值的话应该是要设置成主键才可以的,还要设置<generator class="native">,主键策略。
qianzhimeiying
2010-01-13
打赏
举报
回复
还要看看你的建表语句中是否使用了newId()
qianzhimeiying
2010-01-13
打赏
举报
回复
定义主键形如:
<id name="cpnId" type="java.lang.String">
<column name="CPN_ID" length="2" />
<generator class="assigned" />
</id>
若希望自增长,则<generator class="uuid" />--oracle
<generator class="guid" />--sqlServer
丰富的分地方的
2010-01-13
打赏
举报
回复
String 能自动增长么= =
风过无痕1110
2010-01-13
打赏
举报
回复
<id name="domainId" type="java.lang.String">
<column name="domain_id" length="50" />
<generator class="uuid.hex" />
</id>
A
Hibernate
1.1
更多使用示例见博客: http://blog.csdn.net/lk_blog 早期版本A
Hibernate
1.0下载地址:http://download.csdn.net/detail/lk_blog/4222048 本版主要修改的内容: 1.修改bug,实体类的属性定义为int时自动生成
Id
正常,定义为Integer类型后不能自动生成
Id
. 2.实现功能:自动处理java.util.Date类型. 3.实现功能:调试时自动输入sql到日志中,输出的sql已经将?参数替换为了传入的变量,sql能直接运行. 4.实现功能:实现了
主键
自增和不自增控制方法的重载.默认使用
主键
自增, //insert(entity)方法
Id
会自增,相当于调用insert(entity,true); //使用insert(entity,false)这样方式可以插入有固定
Id
的数据 5.支持代码混淆处理,当设置了proguard.config=proguard.cfg后发布程序时,程序会自动混淆处理.使用老接口:public BaseDaoImpl(SQLiteOpenHelper dbHelper)会报错,请使用新接口: public BaseDaoImpl(SQLiteOpenHelper dbHelper, Class clazz) 注:使用混淆时最好在proguard.cfg文件添加设置:-keepattributes *Annotation* 6.其他一些bug.
Hibernate
自定义
主键
生成
参考:https://www.cnblogs.com/xmqa/p/6424386.html
Hibernate
中自定义
主键
生成策略,并引用自己的编写的
主键
生成策略。 注意:
主键
生成策略由自己编写函数去实现 当使用
Hibernate
定义pojo的时候,有时候需要生成
一定
规则的数据表
主键
,这时候我们可以采用自定义
主键
生成方式去生成
主键
。 例如: 1、在pojo属性中定义数据表
主键
@
Id
@GeneratedValue(generator = "xmq
Id
") @GenericGen
hibernate
主键
冲突问题解决方法
今天使用
hibernate
创建数据库后对数据库进行添加的时候报了这样一个错误 说是
主键
重复,但是我在数据库中的
主键
Id
是自增的,为什么会重复呢,反复调试了几次,发现重复的数值会增长,第一次是1,第二次是2,第三次是3,到这里截图是4,我基本可以确定每执行一次添加它这个重复建都会加一,看了一下数据库,发现最大
主键
到5,我猜再执行两次应该就不会再重复了,果不其然,第六次就正常了。 后来我就去找了下原因,大概是
Hibernate
框架在插入数据库之前就生成好了
主键
,即
主键
由
Hibernate
产生,而非数据库产生。
Hibernate
中采用UU
ID
作为
主键
时出现的问题?
通常在数据库的建立上,我们会采用自增的
ID
作为
主键
来为数据编号,这个就是自增
主键
但是有时候为了保证
一定
范围内的
主键
的唯一性,我们会UU
ID
来作为
主键
,这样做的优点时出现数据拆分、合并存储的时候,能达到全局的唯一性。 这里将使用
hibernate
构建环境的步骤省略,当使用UU
ID
作为唯一键值的时候,虽然生成了sql语句,但是在数据库中却没有表生成。 为了解决问题,我将生成的sql语句复制到my...
Hibernate
实体类
主键
id
生成策略(全)
一、
主键
类型 1.自然
主键
(
主键
本身就是表中的一个字段,实体中一个具体的属性) 表中已经具有某字段,并且该字段具有业务含义作为
主键
,称之为自然
主键
。 例如:在person表中的身份证号,既是唯一的,又可以单独标识一个person 2.代理
主键
(
主键
不是实体中某个具体的属性,而是一个不相关的字段) 表中原本不存在的字段,且不具备业务含义的字段作为
主键
,称之为代理
主键
。更合理的方式是使用代理
主键
。 二、
主键
生成策略
主键
生成策略,就是每条记录录入时,
主键
的生成规则。
Hibernate
中,提供了几个内置的
主键
生成
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章