S2Dao Tigerアノテーション
S2Dao Tigerでは、S2DaoのアノテーションをTigerアノテーションで記述できます。
Tigerアノテーションは定数アノテーションと対になるため、
定数アノテーションとTigerアノテーションの対応について下記に記載します。
個々のアノテーションについての詳細は、S2Daoリファレンスを
参照してください。
定数アノテーション |
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 |
定数アノテーション |
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 |
定数アノテーション |
Tigerアノテーション |
PROCEDURE_PARAMETER |
org.seasar.dao.annotation.tiger.ProcedureParameter |
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アノテーションは、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アノテーションは、org.seasar.dao.annotation.tiger.Beanアノテーションに記述します。
// 定数アノテーション
public static final String TABLE = "DEPT";
// Tigerアノテーション
@Bean(table="DEPT")
public class Department implements Serializable {
// ...
}
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アノテーションは、org.seasar.dao.annotation.tiger.Beanアノテーションに記述します。
// 定数アノテーション
public static final String VERSION_NO_PROPERTY = "myVersionNo";
// Tigerアノテーション
@Bean(versionNoProperty = "myVersionNo")
public class Foo {
// ...
}
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アノテーションは、org.seasar.dao.annotation.tiger.Beanアノテーションに記述します。
// 定数アノテーション
public static final String NO_PERSISTENT_PROPS = "fooProperty";
// Tigerアノテーション
@Bean(noPersistentProperty = "fooProperty")
public class Foo {
// ...
}
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 をフィールドに指定することも可能です。
BEANアノテーションは、org.seasar.dao.annotation.tiger.S2Daoアノテーションに記述します。
// 定数アノテーション
public static final Class BEAN = Employee.class;
// Tigerアノテーション
@S2Dao(bean=Employee.class)
public interface DepartmentDao {
// ...
}
ARGSアノテーションは、org.seasar.dao.annotation.tiger.Argumentsアノテーションに記述します。
// 定数アノテーション
public static final String getEmployees_ARGS = "ename";
// Tigerアノテーション
@Arguments("ename")
public List getEmployees(String ename) {
// ...
}
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アノテーションは、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アノテーションは、org.seasar.dao.annotation.tiger.PersistentPropertyアノテーションに記述します。
// 定数アノテーション
public static final String insert_PERSISTENT_PROPS = "deptno";
// Tigerアノテーション
@PersistentProperty("deptno")
public void insert(Employee employee);
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アノテーションは、org.seasar.dao.annotation.tiger.SqlFileアノテーションに記述します。
// 定数アノテーション
String insert_SQL_FILE = null;
int insert(Employee employee);
// Tigerアノテーション
@SqlFile
int insert(Employee employee);
PROCEDUREアノテーションは、org.seasar.dao.annotation.tiger.Procedureアノテーションに記述します。
// 定数アノテーション
public String getSalesTax_PROCEDURE = "SALES_TAX";
// Tigerアノテーション
@Procedure("SALES_TAX")
public double getSalesTax(double subtotal);
PROCEDURE_CALLアノテーションは、org.seasar.dao.annotation.tiger.ProcedureCall アノテーションに記述します。
// 定数アノテーション
public String getSalesTax_PROCEDURE_CALL = "SALES_TAX";
// Tigerアノテーション
@ProcedureCall("SALES_TAX")
public void getSalesTax(SalesTaxDto salesTaxDto);
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;
}
ParameterType はorg.seasar.dao.annotation.tiger.ParameterType 列挙型です。
RETURN 、IN 、INOUT 、OUT の4種類があります。
@ParameterType はフィールドに指定することも可能です。
|