项目设计中遇到一个问题,数据表某个字段的值需要在1到0之间变化。那我们在写该字段Hibernate中更新的代码的时候可以分别写两个操作的方法,或者也可以写一个方法,通过构造查询条件来实现。现在的问题是,在Hibernate中,怎么样设计是好的?代码如下: ================= 方法一: public void updateIsCensor(String member_id,String mode) throws HibernateException{ StringBuffer updateTemp=new StringBuffer(); if ("ok".equals(mode)){ updateTemp.append("UPDATE Member SET isCensor=1"); } if ("reset".equals(mode)){ updateTemp.append("UPDATE Member SET isCensor=0"); } updateTemp.append(" where id='"); updateTemp.append(member_id); updateTemp.append("'");
System.out.println("会员审核时候的 sql="+updateTemp.toString()); int updatedEntities = getSessionFactory().openSession().createQuery(updateTemp.toString()).executeUpdate();
} ==================================
方法二: public void updateIsCensorOk(String member_id,String mode) throws HibernateException{ StringBuffer updateTemp=new StringBuffer(); updateTemp.append("UPDATE Member SET isCensor=1"); updateTemp.append(" where id='"); updateTemp.append(member_id); updateTemp.append("'");
System.out.println("会员审核时候的 sql="+updateTemp.toString()); int updatedEntities = getSessionFactory().openSession().createQuery(updateTemp.toString()).executeUpdate();
}
public void updateIsCensorReset(String member_id) throws HibernateException{ StringBuffer updateTemp=new StringBuffer(); updateTemp.append("UPDATE Member SET isCensor=0"); updateTemp.append(" where id='"); updateTemp.append(member_id); updateTemp.append("'");
System.out.println("会员审核时候的 sql="+updateTemp.toString()); int updatedEntities = getSessionFactory().openSession().createQuery(updateTemp.toString()).executeUpdate();