About

ドキュメント

Javadocs

プロジェクト文書

Built by Maven

概要

Domaでは、データベースのカラムにマッピング可能なJavaの型を基本型と呼びます。

基本型は、ドメインクラスの値型やエンティティクラスの永続フィールドの型として使用されます。 また、Daoインタフェースのメソッドのパラメータや戻り値にも使用されます。

基本型の種類

基本型には以下の種類があります。

  • プリミティブ型とそのラッパー型(ただし、charjava.lang.Characterは除く)
  • 列挙型
  • byte[]
  • java.lang.String
  • java.math.BigDecimal
  • java.math.BigInteger
  • java.sql.Date
  • java.sql.Time
  • java.sql.Timestamp
  • java.sql.Array
  • java.sql.Blob
  • java.sql.Clob
  • java.sql.NClob
  • java.util.Date

日付・時刻型

日付・時刻型の違いを説明します。

java.sql.Date
SQL標準のDATE型 (日付のみ)を表します。
java.sql.Time
SQL標準のTIME型 (時刻のみ)を表します。
java.sql.Timestamp
SQL標準のTIMESTAMP型 (日付と時刻)を表します。RDBMSがサポートしている場合ナノ秒を保持します。
java.util.Date
SQL標準のTIMESTAMP型 (日付と時刻)を表します。ナノ秒を保持しません。

利用例

エンティティクラス

エンティティクラスのフィールドの型での利用例です。

@Entity
public class Employee {

    @Id
    Integer employeeId;

    String employeeName;

    @Version
    Long versionNo;
    
    ...
}

ドメインクラス

ドメインクラスでの利用例です。

@Domain(valueType = String.class)
public class PhoneNumber {

    private final String value;

    public PhoneNumber(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }
}

Daoインタフェース

Daoインタフェースのメソッドのパラメータや戻り値での利用例です。

@Dao(config = AppConfig.class)
public interface EmployeeDao {

    @Select
    Employee selectById(Integer employeeId);
    
    @Select
    List<String> selectAllName();
}