誠心請教一個關於hibernate程式碼設計的問題

TESSS發表於2007-08-08
專案設計中遇到一個問題,資料表某個欄位的值需要在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();


}

相關文章