概要
SQLはすべてバインド変数(?)を使った準備された文に変換されて実行されますが、 このドキュメントでは、発行されたSQLがどのようなものかわかりやすくするためにバインド変数を実際の値に置き換えたログ用のSQLを示します。
SQLの自動生成による挿入
test/tutorial/InsertTest.javaのtestInsertメソッドを参照してください。 SQLの自動生成による挿入です。
Daoのメソッドは次のとおりです。
@Insert int insert(Employee employee);
Daoのメソッドは次のように呼び出します。
Employee employee = new Employee(); employee.setName("test"); employee.setAge(50); employee.setSalary(new Salary(300)); employee.setJobType(JobType.PRESIDENT); dao.insert(employee);
SQLのログは次のように出力されます(改行しています)。
insert into Employee ( age, DEPARTMENT_ID, hiredate, id, insertTimestamp, JOB_TYPE, name, salary, updateTimestamp, VERSION ) values ( 50, null, null, 100, '2009-11-21 16:37:49.296', 'PRESIDENT', 'test', 300, null, 1 )
識別子のidプロパティは自動生成されるので設定する必要はありません。
楽観的排他制御用バージョンのversionプロパティは自動生成されるので設定する必要はありません。
insertTimestampプロパティはEmployeeListenerで自動設定されます。 test/tutorial/EmployeeListener.javaを参照してください。