hibernate中update设置
2015-09-17 14:37
274 查看
hibernate三种状态与update之间的关系:
1.transient对象不可以更新,自己设定id对象可以更新。
2.更新detached对象,更新之后转为persistent对象。
3.对于persistent对象只要修改其设定值就会自动发生更新。
此外还有merg和saveOrUpdate方法。
只更新部分字段有三种方法:
1.XML中设置property 标签 update = "false" ,如下:我们设置 age 这个属性在更改中不做更改
[html] view
plaincopyprint?
<property name="age" update="false"></property>
在Annotation中 在属性GET方法上加上@Column(updatable=false)
[java] view
plaincopyprint?
@Column(updatable=false)
public int getAge() {
return age;
}
2.使用XML中的 dynamic-update="true"
[html] view
plaincopyprint?
<class name="com.sccin.entity.Student" table="student" dynamic-update="true">
OK,这样就不需要在字段上设置了。
但这样的方法在Annotation中没有
3.使用HQL语句(灵活,方便)
使用HQL语句修改数据
[java] view
plaincopyprint?
public void update(){
Session session = HibernateUitl.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("update Teacher t set t.name = 'yangtianb' where id = 3");
query.executeUpdate();
session.getTransaction().commit();
}
1.transient对象不可以更新,自己设定id对象可以更新。
2.更新detached对象,更新之后转为persistent对象。
3.对于persistent对象只要修改其设定值就会自动发生更新。
此外还有merg和saveOrUpdate方法。
只更新部分字段有三种方法:
1.XML中设置property 标签 update = "false" ,如下:我们设置 age 这个属性在更改中不做更改
[html] view
plaincopyprint?
<property name="age" update="false"></property>
在Annotation中 在属性GET方法上加上@Column(updatable=false)
[java] view
plaincopyprint?
@Column(updatable=false)
public int getAge() {
return age;
}
2.使用XML中的 dynamic-update="true"
[html] view
plaincopyprint?
<class name="com.sccin.entity.Student" table="student" dynamic-update="true">
OK,这样就不需要在字段上设置了。
但这样的方法在Annotation中没有
3.使用HQL语句(灵活,方便)
使用HQL语句修改数据
[java] view
plaincopyprint?
public void update(){
Session session = HibernateUitl.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("update Teacher t set t.name = 'yangtianb' where id = 3");
query.executeUpdate();
session.getTransaction().commit();
}
相关文章推荐
- JAVA基础--db02_java语言关键字
- 【小技巧】Win10主机和Ubuntu虚拟机/服务器的文件传输
- android studio Gradle: 警告:编码 GBK 的不可映射字符的 ...
- 深入Java单例模式
- javascript自定义事件
- C#类库中log4net的配置
- Cookies和Session
- C++学习笔记
- iconfont 随意变换字体
- poj2686Traveling by Stagecoach(状态压缩)
- 资料
- 《黑马程序员》Java网络编程 GUI 正则表达式
- 敏捷开发二——极限编程
- HDU 1896 Stones (Priority_queue)
- 潜龙(CHLoong)软件使用及功能说明
- 营销型网站和普通型企业网站有什么不同?
- 齐家网要做透明的家装O2O平台?不,其目的是金融
- july的谱聚类
- 输入输出之转换流InputStreamReader&OutputStreamWriter
- 常用socket函数详解