社区
Java SE
帖子详情
请问hibernate里面的session如何保持一个字段
vagrant_zy
2007-10-22 10:08:50
我是用session的.saveorUpdate(对象);
但是那个表中存在一个自动增长的ID(主键),用这个也会写入那个ID,我也没对ID赋值。请问如何保存一个包含自动增长的主键的表?
...全文
179
11
打赏
收藏
请问hibernate里面的session如何保持一个字段
我是用session的.saveorUpdate(对象); 但是那个表中存在一个自动增长的ID(主键),用这个也会写入那个ID,我也没对ID赋值。请问如何保存一个包含自动增长的主键的表?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tubage408
2007-10-23
打赏
举报
回复
你定义vo对象的时候不要给它的id赋值
koj5201314
2007-10-23
打赏
举报
回复
好像不是属于这个板块 哈哈~~~
yztommyhc
2007-10-23
打赏
举报
回复
你要做update()的话,一定要先取出这个对象了,然后修改id以外的属性,再update()就应该是没有问题的。
你不能拿一个游离的对象(也就是你在程序里面new()的对象)去update()一个现成的对象,这个就算是update()了。
Oscarming
2007-10-23
打赏
举报
回复
插入时该字段也不能赋值
Oscarming
2007-10-23
打赏
举报
回复
数据库中该字段是不是设的自增长的属性?
Oscarming
2007-10-22
打赏
举报
回复
打错了,应该是<generator class="increment"/ >
Oscarming
2007-10-22
打赏
举报
回复
将表名.hbm.xml中的对应标识符的generator属性修改一下,例如:
<id name="id", type="long" column="ID">
<meta attribute="scope-set">private</meta>
<generator class="increment:/>
</id>
再修改对应的表名.java文件
private Long id;
public Long getId(){
return this.id;
}
private void setId(Long Id){ //注意,这里是private类型
this.id=id;
}
notruiyi
2007-10-22
打赏
举报
回复
请不要设置自动增长的属性的值
joejoe1991
2007-10-22
打赏
举报
回复
学习
vagrant_zy
2007-10-22
打赏
举报
回复
报错信息有:
Hibernate: insert into Audit.dbo.Province (ProvinceName, ProvinceID) values (?, ?)
2007-10-22 10:46:44,390 - org.hibernate.util.JDBCExceptionReporter -0 [http-8080-2] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 544, SQLState: 23000
2007-10-22 10:46:44,406 - org.hibernate.util.JDBCExceptionReporter -16 [http-8080-2] ERROR org.hibernate.util.JDBCExceptionReporter - 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'Province' 中的标识列插入显式值。
2007-10-22 10:46:44,437 - org.hibernate.event.def.AbstractFlushingEventListener -47 [http-8080-2] ERROR org.hibernate.event.def.AbstractFlushingEventListener - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: could not insert: [com.audit.domain.Province]
Caused by: java.sql.SQLException: 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'Province' 中的标识列插入显式值。
2007-10-22 10:46:44 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
vagrant_zy
2007-10-22
打赏
举报
回复
xml里面是
<id name="provinceId" type="integer">
<column name="ProvinceID" />
<generator class="increment" />
</id>
java里面也改成了private,可还是不行
hibernate
-release-5.2.2.Final.zip
官方版
hibernate
-release-5.2.2.Final.zip(分享)
SSH1框架搭建实例
SSH1框架搭建实例(spring2+struts1+
hibernate
3)采用旧版本 以资源分销系统物料维护为原型做实例。包括物料的增删改查。包括登录界面。
Hibernate
之update及更新部分
字段
Hibernate
更新部分更改的
字段
Hibernate
中如果直接使用
Session
.update(Object o); 或则是
Session
.updateOrUpdate(Object o); 会把这个表中的所有
字段
更新一遍。 如: [java] view plaincopyprint? Ex
hibernate
获取
session
的两种方式
hibernate
获取
session
的两种方式分别是get
Session
() 方法和getCurrent
Session
() 方法。 1.通过get
Session
方法获取
session
,具体操作为: //测试open
Session
方法获取
session
对象 @Test public void test1() { Configuration cfg = new Configuration()
Hibernate
update 只更新被修改
字段
Hibernate
中如果直接使用
Session
.update(Object o); 会把这个表中的所有
字段
更新一遍。 如果我们只更改了state属性,而
Hibernate
的sql语句 把所有
字段
都更改了一次。 这样要是我们有
字段
是文本类型,这个类型存储的内容是几千,几万字,这样效率会很低。 那么怎么只更改我们更新的
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章