诚心请教一个关于hibernate代码设计的问题

07-08-08 TESSS
项目设计中遇到一个问题,数据表某个字段的值需要在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();

}

scorpioer
2007-08-08 23:07
个人感觉保存1或0,应该是你们业务需求上面的吧,觉得还是放在业务层,而持久层则只负责保存数据就可以了。

猜你喜欢