[Seasar-user:18805] 【Doma】1対1/1対n の実装方法

黒川博之 [E-MAIL ADDRESS DELETED]
2009年 10月 29日 (木) 09:08:25 JST


黒川と申します。


Domaについて教えて下さい。

http://doma.sandbox.seasar.org/faq.html#feature-11
1対1/1対n がサポートされていないようですがどのような理由からでしょうか?

また、1対1/1対n を実現するには、どのような実装方法があるでしょうか?

Delegateを使用する手順を考えましたが
他に何かいい方法があればお教え下さい。

【EmployeeDao】
@Dao(config = MdbConfig.class)
public interface EmployeeDao {

 @Delegate(to = EmployeeDaoDelegate.class)
 Employee findByIdAndDept(String id);

}

【EmployeeDaoDelegate】
public class EmployeeDaoDelegate {

 protected final Config config;

 public EmployeeDaoDelegate(Config config) {
  this.config = config;
 }

 public Employee findByIdAndDept(String id) {

  EmployeeDao employeeDao = new EmployeeDaoImpl();
  Employee employee = employeeDao.findById("0001");

  DeptDao deptDao = new DeptDaoImpl();
  employee.dept = deptDao.findById(employee.deptid);

  return employee;
 }

}



【その他】
プラグイン
@Delegate先のメソッドにジャンプする機能や、クラスやメソッドがなければ自動作成する
機能があれば便利かと思いました。





Seasar-user メーリングリストの案内