天天看点

Hibernate update 仅更新部分字段的实现方式

   默认情况下,Hibernate update会吧整个实体的所有字段进行更新一次

   解决方式有三:

   1.设置字段的update属性

hbm.xml中:<property name="columnUnUpdate" update="false"></property>
Annotation中:@Column(updatable=false)
           

   2.设置字段的dynamic-update属性

      同方式1,在不需要更新的字段上加dynamic-update="true"

   3.使用HQL/SQL语句(灵活)   {推荐}

private boolean update(boolean isHql, String queryString, Map<String, Object> param) {
		// TODO Auto-generated method stub
		Query query = null;
		if (isHql) {
			query = this.getLocSession().createQuery(queryString);
		} else {
			query = this.getLocSession().createSQLQuery(queryString);
		}

		if (null != param && !param.isEmpty()) {
			query.setProperties(param);
		}
		
		if(query.executeUpdate() > 0){
			return true;
		}
		return false;
	}
           

继续阅读