1.0.6b4リリースしました。

 ・Seasar V2.2.7, hsqldb1.7.3.3にライブラリを更新しました。


 ・beforeCompletion(),afterCompletion()での処理
  beforeCompletion() で Session#flush()を呼ぶように修正
  afterCompletion() で Session#clear() してから Session#close() を呼ぶように修正
  (V2.2.5以降に対応)


 ・アノテーションなしのDto対応(HibernteのExampleの様な機能)
  Daoインターフェースで、アノテーションなし指定で、メソッドの引数がDto1つの場合の処理。
  渡されてたDtoのNullでないプロパティを検索条件にして、オブジェクトを検索します。
  (nullでないもを検索条件にするので、プリミティブ型は想定していません。)


ダウンロードはこちらから
http://sourceforge.jp/projects/seasar/files/?release_id=14390#14390

S2hibernate.daoのアノテーションなしのDto対応(HibernteのExampleの様な機能)

HibernateのQBE(Query by Example)では、IDのフィールドを検索条件にすることができませんが、このアノテーションなしのDto対応を使うとIDも含めることができます。
(IDを含めて検索条件に出来ることが良いかどうかは、別として。。。)


  Daoインターフェースで、アノテーションなし指定で、メソッドの引数がDto1つの場合の処理。

  渡されてたDtoのNullでないプロパティを検索条件にして、オブジェクトを検索します。

  (nullでないもを検索条件にするので、プリミティブ型は想定していません。)


ドキュメントの追加ができていないのですが、とりあえず
 EmployeeDaoEmployeeDtoTest.java
 EmployeeDaoSimpleDtoTest.java
 EmployeeDaoSearchDtoTest.java
あたりと関連ファイルを見ていただけると助かります。


・daoの例(EmployeeAutoDao.javaから抜粋)


//〜〜 略 〜〜
public interface EmployeeAutoDao {
public Class BEAN = Employee.class;

//〜〜 中略 〜〜

//dtoを指定して処理する場合
public List getEmployeeByEmployeeDtoAuto( Employee dto );
}


・EmployeeAutoDaoSimpleDtoClientのMainから抜粋


//〜〜 略 〜〜
EmployeeAutoDao dao = (EmployeeAutoDao) container
.getComponent(EmployeeAutoDao.class);/* 手順2 */

Employee emp = new Employee();

emp.setJob( "MANAGER" );
emp.setDeptno( new Integer(20) );

List ret = dao.getEmployeeByEmployeeDtoAuto(emp);

System.out.println("RET:" + ( (Employee)ret.get(0) ).getEname() );/* 手順3 */
//〜〜 略 〜〜