s2jsf-example-s2hibernateV1.1.0リリース

S2JSFExampleV1.0.3のS2DaoをS2hibernateV1.1.0に差し替えた版です。
次のURLからダウンロードできます。
http://sourceforge.jp/projects/seasar/files/?release_id=15272#15272


このサンプルは、Hibernate2,Hibernate3両方の環境で動作します。
また、両環境の設定ファイル、マッピングファイル、diconファイルがあるので、
examples/jsf/dicon/alldao.diconの次の1行を修正だけで、切り替えることができます。


     == Hibernate2を使う場合==
      


     == Hibernate3を使う場合 ==
      


◆コード、設定ファイルの修正内容
  ■hibernateの設定ファイルを追加
   ・hibernate2用
    /WEB-INF/src/examples/jsf/dto/EmployeeDto.hbm.xml 
    /WEB-INF/src/examples/jsf/dto/DepartmentDto.hbm.xml
    /WEB-INF/src/hibernate.cfg.xml


   ・hibernate3用
    /WEB-INF/src/examples/jsf/dto/EmployeeDto3.hbm.xml 
    /WEB-INF/src/examples/jsf/dto/DepartmentDto3.hbm.xml
    /WEB-INF/src/hibernate3.cfg.xml


  ■diconファイルの差し替え
    /WEB-INF/src/dao.dicon
    /WEB-INF/src/examples/jsf/dicon/alldao.dicon

  ■コードの修正
   ◇examples.jsf.dao.DepartmentDtoDao
    修正前: public String getDname_ARGS = "depno";
    修正後: public String getDname_ARGS = "deptno";

   ◇examples.jsf.dao.EmployeeDtoDao
    ・PROPERTYアノテーションをつける

	
public String searchEmployeeDtoList_PROPERTY = "empno,ename,job,mgr,hiredate >= fromHiredate,hiredate <= toHiredate,sal >= fromSal,sal <= toSal,deptno";
public List searchEmployeeDtoList(EmployeeSearchDto dto);


   ◇EmployeeDtoDaoImplを追加
    次のメソッドがcountを使っています。
     examples.jsf.dao.EmployeeDtoDao#getSearchCount()

    しかし、HibernateのCriteriaでcountを取るには、修正が必要になってくるので、とりあえず、
     examples.jsf.dao.EmployeeDtoDaoImpl
    というabstractクラスを作って、次の様に上書きしました。

	
public int getSearchCount(EmployeeSearchDto dto) {
return searchEmployeeDtoList(dto).size();
}


    ※examples/jsf/dicon/allhibernatedao.dicon の
      
     を削除して、今作ったEmployeeDtoDaoImplと差し替え
      


    ◇EmployeeDto.javaへコード追加
     == 追加内容 ==

private DepartmentDto departmentDto;

public DepartmentDto getDepartmentDto() {
return departmentDto;
}

public void setDepartmentDto(DepartmentDto departmentDto) {
this.departmentDto = departmentDto ;
this.dname = departmentDto.getDname();
}