S2JDBCのテーブル結合
S2JDBCでテーブル結合を試してみた!!
内部結合(inner join)
EMP |
---|
id |
empNo |
empName |
mrgId |
sal |
deptId |
versionNo |
DEPT |
---|
id |
deptNo |
deptName |
deptId |
versionNo |
EMPとDEPTを1対1で結合
entityのEmpクラスを下記のようにする。@Entity public class Emp { @OneToOne public Dept dept; }
Serviceクラス(daoに近い)
public class EmpService extends AbstractService<Emp> { /** * テーブル結合 * @return */ public List<Emp> selectJoin() { return select().innerJoin("dept").getResultList(); } }
Actionクラス
public class TestAction { /** * テスト テーブル結合 * @return */ @Execute(validator = false) public String join(){ empItems = empService.selectJoin(); return "listJoin.jsp"; } }
【参考サイト】
Seasar2 - S2JDBC - JdbcManager - SQL自動生成による操作
http://wiki.paulownia.jp/java/s2jdbc