Seasar DI Container with AOP

S2Dao Tigerアノテーション

S2Dao Tigerでは、S2DaoのアノテーションをTigerアノテーションで記述できます。 Tigerアノテーションは定数アノテーションと対になるため、 定数アノテーションとTigerアノテーションの対応について下記に記載します。

個々のアノテーションについての詳細は、S2Daoリファレンスを 参照してください。

アノテーション一覧

JavaBeansアノテーション一覧

定数アノテーション Tigerアノテーション
ID org.seasar.dao.annotation.tiger.Id
RELNO org.seasar.dao.annotation.tiger.Relation
RELKEYS org.seasar.dao.annotation.tiger.Relation
TABLE org.seasar.dao.annotation.tiger.Bean
COLUMN org.seasar.dao.annotation.tiger.Column
VERSION_NO_PROPERTY org.seasar.dao.annotation.tiger.Bean
TIMESTAMP_PROPERTY org.seasar.dao.annotation.tiger.Bean
NO_PERSISTENT_PROPS org.seasar.dao.annotation.tiger.Bean
VALUE_TYPE org.seasar.dao.annotation.tiger.ValueType

Daoアノテーション一覧

定数アノテーション Tigerアノテーション
BEAN org.seasar.dao.annotation.tiger.S2Dao
ARGS org.seasar.dao.annotation.tiger.Arguments
QUERY org.seasar.dao.annotation.tiger.Query
NO_PERSISTENT_PROPS org.seasar.dao.annotation.tiger.NoPersistentProperty
PERSISTENT_PROPS org.seasar.dao.annotation.tiger.PersistentProperty
SQL org.seasar.dao.annotation.tiger.Sql
SQL_FILE org.seasar.dao.annotation.tiger.SqlFile
PROCEDURE org.seasar.dao.annotation.tiger.Procedure
PROCEDURE_CALL org.seasar.dao.annotation.tiger.ProcedureCall

DTOアノテーション一覧

定数アノテーション Tigerアノテーション
PROCEDURE_PARAMETER org.seasar.dao.annotation.tiger.ProcedureParameter

JavaBeans

IDアノテーション

IDアノテーションは、org.seasar.dao.annotation.tiger.Idアノテーションに記述します。DBごとに切り替える場合は、org.seasar.dao.annotation.tiger.Idsアノテーションで囲みます。

// 定数アノテーション
public static final String id_ID = "sequence, sequenceName=myseq";
// Tigerアノテーション
@Id(value = IdType.SEQUENCE, sequenceName = "myseq")
public void setId(Integer id) {
    // ...
}

IdTypeはorg.seasar.dao.annotation.tiger.IdType列挙型です。 IDENTITY, SEQUENCE, ASSIGNEDの3種類があります。

バージョン1.0.47以降では、@Idをフィールドに指定することも可能です。

RELNO, RELKEYSアノテーション

RELNO, RELKEYSアノテーションは、org.seasar.dao.annotation.tiger.Relationアノテーションに記述します。

// 定数アノテーション
public static final int department_RELNO = 0;
public static final String department_RELKEYS = "DEPTNUM:DEPTNO";
// Tigerアノテーション
@Relation(relationNo = 0, relationKey = "DEPTNUM:DEPTNO")
public void setDepartment(Department department) {
    // ...
}

バージョン1.0.47以降では、@Relationをフィールドに指定することも可能です。

TABLEアノテーション

TABLEアノテーションは、org.seasar.dao.annotation.tiger.Beanアノテーションに記述します。

// 定数アノテーション
public static final String TABLE = "DEPT";
// Tigerアノテーション
@Bean(table="DEPT")
public class Department implements Serializable {
    // ...
}

COLUMNアノテーション

COLUMNアノテーションは、org.seasar.dao.annotation.tiger.Columnアノテーションに記述します。

// 定数アノテーション
public static final String timestamp_COLUMN = "tstamp";
// Tigerアノテーション
@Column("tstamp")
public Timestamp getTimestamp() {
    // ...
}

バージョン1.0.47以降では、@Columnをフィールドに指定することも可能です。

VERSION_NO_PROPERTYアノテーション

VERSION_NO_PROPERTYアノテーションは、org.seasar.dao.annotation.tiger.Beanアノテーションに記述します。

// 定数アノテーション
public static final String VERSION_NO_PROPERTY = "myVersionNo";
// Tigerアノテーション
@Bean(versionNoProperty = "myVersionNo")
public class Foo {
    // ...
}

TIMESTAMP_PROPERTYアノテーション

TIMESTAMP_PROPERTYアノテーションは、org.seasar.dao.annotation.tiger.Beanアノテーションに記述します。

// 定数アノテーション
public static final String TIMESTAMP_PROPERTY = "myTimestamp";
// Tigerアノテーション
@Bean(timeStampProperty = "myTimestamp")
public class Foo {
    // ...
}

NO_PERSISTENT_PROPSアノテーション

NO_PERSISTENT_PROPSアノテーションは、org.seasar.dao.annotation.tiger.Beanアノテーションに記述します。

// 定数アノテーション
public static final String NO_PERSISTENT_PROPS = "fooProperty";
// Tigerアノテーション
@Bean(noPersistentProperty = "fooProperty")
public class Foo {
    // ...
}

VALUE_TYPEアノテーション

VALUE_TYPEアノテーションは、org.seasar.dao.annotation.tiger.ValueTypeアノテーションに記述します。

// 定数アノテーション
public static String bbb_VALUE_TYPE = "stringClobType";
// Tigerアノテーション
@ValueType("stringClobType")
public void setBbb(String bbb) {
    // ...
}

バージョン1.0.47以降では、@ValueTypeをフィールドに指定することも可能です。

Dao(Data Access Object)

BEANアノテーション

BEANアノテーションは、org.seasar.dao.annotation.tiger.S2Daoアノテーションに記述します。

// 定数アノテーション
public static final Class BEAN = Employee.class;
// Tigerアノテーション
@S2Dao(bean=Employee.class)
public interface DepartmentDao {
    // ...
}

ARGSアノテーション

ARGSアノテーションは、org.seasar.dao.annotation.tiger.Argumentsアノテーションに記述します。

// 定数アノテーション
public static final String getEmployees_ARGS = "ename";
// Tigerアノテーション
@Arguments("ename")
public List getEmployees(String ename) {
    // ...
}

QUERYアノテーション

QUERYアノテーションは、org.seasar.dao.annotation.tiger.Queryアノテーションに記述します。

// 定数アノテーション
public String getAaa_QUERY = "A > B";
// Tigerアノテーション
@Query("A > B")
public Aaa getAaa(int id);

NO_PERSISTENT_PROPSアノテーション

NO_PERSISTENT_PROPSアノテーションは、org.seasar.dao.annotation.tiger.NoPersistentPropertyアノテーションに記述します。

// 定数アノテーション
public static final String insert_NO_PERSISTENT_PROPS = "sal, comm";
// Tigerアノテーション
@NoPersistentProperty("sal, comm")
public void insert(Employee employee);

PERSISTENT_PROPSアノテーション

PERSISTENT_PROPSアノテーションは、org.seasar.dao.annotation.tiger.PersistentPropertyアノテーションに記述します。

// 定数アノテーション
public static final String insert_PERSISTENT_PROPS = "deptno";
// Tigerアノテーション
@PersistentProperty("deptno")
public void insert(Employee employee);

SQLアノテーション

SQLアノテーションは、org.seasar.dao.annotation.tiger.Sqlアノテーションに記述します。DBごとに切り替える場合は、org.seasar.dao.annotation.tiger.Sqlsアノテーションで囲みます。

// 定数アノテーション
public static final String getCount_SQL = "SELECT COUNT(*) FROM emp";
// Tigerアノテーション
@Sql("SELECT count(*) FROM emp")
public int getCount();

SQL_FILEアノテーション

SQL_FILEアノテーションは、org.seasar.dao.annotation.tiger.SqlFileアノテーションに記述します。

// 定数アノテーション
String insert_SQL_FILE = null;
int insert(Employee employee);
// Tigerアノテーション
@SqlFile
int insert(Employee employee);

PROCEDUREアノテーション

PROCEDUREアノテーションは、org.seasar.dao.annotation.tiger.Procedureアノテーションに記述します。

// 定数アノテーション
public String getSalesTax_PROCEDURE = "SALES_TAX";
// Tigerアノテーション
@Procedure("SALES_TAX")
public double getSalesTax(double subtotal);

PROCEDURE_CALLアノテーション

PROCEDURE_CALLアノテーションは、org.seasar.dao.annotation.tiger.ProcedureCallアノテーションに記述します。

// 定数アノテーション
public String getSalesTax_PROCEDURE_CALL = "SALES_TAX";
// Tigerアノテーション
@ProcedureCall("SALES_TAX")
public void getSalesTax(SalesTaxDto salesTaxDto);

DTO

PROCEDURE_PARAMETERアノテーション

PROCEDURE_PARAMETERアノテーションは、org.seasar.dao.annotation.tiger.ProcedureParameterアノテーションに記述します。

// 定数アノテーション
public static final String hoge_PROCEDURE_PARAMETER = "inout";
// Tigerアノテーション
@ProcedureParameter(ParameterType.INOUT)
public String getHoge() {
    return hoge;
}

ParameterTypeorg.seasar.dao.annotation.tiger.ParameterType列挙型です。 RETURNININOUTOUTの4種類があります。

@ParameterTypeはフィールドに指定することも可能です。