package sample.model.account;
import javax.persistence.*;
import lombok.*;
import sample.context.orm.*;
import sample.model.constraints.*;
/**
* 口座に紐づく金融機関口座を表現します。
* <p>口座を相手方とする入出金で利用します。
* low: サンプルなので支店や名称、名義といった本来必須な情報をかなり省略しています。(通常は全銀仕様を踏襲します)
*/
@Entity
@Data
@EqualsAndHashCode(callSuper = false)
public class FiAccount extends OrmActiveRecord<FiAccount> {
private static final long serialVersionUID = 1L;
/** ID */
@Id
@GeneratedValue
private Long id;
/** 口座ID */
@IdStr
private String accountId;
/** 利用用途カテゴリ */
@Category
private String category;
/** 通貨 */
@Currency
private String currency;
/** 金融機関コード */
@IdStr
private String fiCode;
/** 金融機関口座ID */
@IdStr
private String fiAccountId;
public static FiAccount load(final OrmRepository rep, String accountId, String category, String currency) {
return rep.tmpl().load("from FiAccount a where a.accountId=?1 and a.category=?2 and a.currency=?3", accountId,
category, currency);
}
}