关于更新部分属性,Hibernate更新某些字段的几种update方法

本文探讨了在Hiberna环境中通过XML配置、HQL语句及BeanUtils类实现数据更新的不同策略,包括灵活调整更新行为、动态更新与直接对象更新方法,旨在提供全面的数据更新解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.在hbm.xml中设置property 标签 update = “false” 例如

    <property name=”age”update=”false”></property>

    我们在执行 Update方法会发现,age 属性 不会被更改,缺点:不灵活。

    Hibernate:

        UPDATE

        Teacher

        SET

        birthday=?,

        name=?,

        title=?

        WHERE

        id=?

2. 使用hbm.xml中的 dynamic-update="true"

<classname="com.sccin.entity.Student" table="student"dynamic-update="true"/>

    3.使用HQL语句(灵活,方便),使用HQL语句修改数据.

     Query query =session.createQuery("update A a set a.name = :name where id         = :id");

    4. 将需要更新的对象加载上来后,利用

        org.springframework.beans.BeanUtils类的 copyProperties方法,将需要         更新的值copy到对象中,最后再调用update方法。

        由于本系统使用1和2方法,并未成功,所以采用4方法。

        Useru = findUserById(user.getUid());

    BeanUtils.copyProperties(user,u,newString[]{"uid","username","password","cr    eatetime"});

    getSession().update(u);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值