S2Daoの理解度をチェックします。下記の問題に関して当てはまるものを1つ選んでチェックを入れたら、下の「解答へGO」ボタンをクリックしてください。
【問題1】 JavaBeansのクラス名がEmployeeでテーブル名はEMPとする場合、JavaBeansとテーブルの関連付けを行う定数の宣言は以下のどれでしょう? ヒント:TABLEアノテーションを参照してください。
【問題2】 プロパティ名がemployeeNoとEMPテーブルのカラム名がEMPNOを関連付ける定数の宣言は以下のどれでしょう? ヒント:COLUMNアノテーションを参照してください。
【問題3】 プロパティ名がenameとEMPテーブルのカラム名がENAMEを関連付ける定数の宣言は以下のどれでしょう? ヒント:COLUMNアノテーションを参照してください。
【問題4】 EMPテーブルとSEC,DEPTテーブルがN:1マッピングされるときのRELNO定数の宣言は以下どれでしょう?SECテーブルと関連付けされているJavaBeansクラスはSection、DEPTテーブルに関連付けされているJavaBeansクラスはdepartmentとする。 ヒント:N:1マッピングを参照してください。
【問題5】 EMPテーブルのDEPTNOカラムとDEPTテーブルのDEPTNOを関連付ける場合のRELKEYS定数の宣言は以下のどれでしょう?ただしDEPTテーブルのDEPTNOはプライマリーキーとする。 ヒント:N:1マッピングを参照してください。
【問題6】 EMPテーブルのDEPTNUMカラムとDEPTテーブルのDEPTNO、EMPテーブルのDEPTKEYカラムとDEPTテーブルのDEPTIDカラムを関連付ける場合の宣言は以下のどれでしょう? ヒント:N:1マッピングを参照してください。
【問題1】 EmployeeDaoクラスがEmployeeエンティティに関連付けられるようにするための宣言は以下のどれでしょう? ヒント:BEANアノテーションを参照してください。
【問題2】 public Employee getEmployee(int employeeno)というメソッドが定義されていた場合、正しいARGSアノテーション宣言は以下のどれでしょう? メソッドの引数に対応するテーブルのカラム名はempnoとする。 ヒント:ARGSアノテーションを参照してください。
【問題3】 public List getEmployeeByJobDeptno(String job, Integer deptno)というメソッドが定義されていた場合、正しいARGSアノテーション宣言は以下のどれでしょう? メソッドの引数名と対応するテーブルのカラム名は同じとする。 ヒント:ARGSアノテーションを参照してください。
【問題4】 SQLが自動生成されるpublic List getEmployeesBySal(Float minSal, Float maxSal)というメソッドで引数でSal(給与)の上限と下限を指定する場合、WHERE句を追加するQUERYアノテーションはどれでしょう? ヒント:QUERYアノテーションを参照してください。
【問題5】 QUERYアノテーションにSQLコメントを使用した正しい例は以下のどれでしょう? ヒント:QUERYアノテーションを参照してください。
【問題6】 Insert処理を行う場合、正しくないメソッド定義は以下のどれでしょう?ヒント:メソッドの定義を参照してください。
【問題7】 Update処理を行う場合、正しくないメソッド定義は以下のどれでしょう?ヒント:メソッドの定義を参照してください。
【問題8】 Delete処理を行う場合、正しくないメソッド定義は以下のどれでしょう?ヒント:メソッドの定義を参照してください。
【問題1】 Dao機能を使用するには、登録したDaoに対して、AOPを適用する必要があります。適用するInterceptorは以下のどれでしょう? ヒント:diconファイルを参照してください。
【問題2】 Dao機能を使用する場合、正しいdiconファイルの定義は以下のどれでしょう?S2DaoInterceptorが登録されているdiconファイルはdao.diconとする。 ヒント:diconファイルを参照してください。
<components> <include path="dao.dicon"/> <component class="example.dao.EmployeeDao"/> </components>
<components> <include path="dao.dicon"/> <component class="example.dao.EmployeeDao"> <arg>dao.interceptor</arg> </component> </components>
<components> <component class="example.dao.EmployeeDao"> <aspect>dao.interceptor</aspect> </component> </components>
<components> <include path="dao.dicon"/> <component class="example.dao.EmployeeDao"> <aspect>dao.interceptor</aspect> </component> </components>
【問題1】 EmployeeDaoクラスのgetEmployeeメソッドとSQLファイルを関連付けるための正しいSQLファイル名は以下のどれでしょう? ヒント:SQLファイルを参照してください。
【問題1】 public String getEmployee_ARGS = "empno"; public List getEmployees(int empno); DAOに上記のようなARGSアノテーションとempno(従業員番号)を指定するメソッドがあった場合、それと対応しているSQLファイルでバインド変数を正しく使用しているのは以下のどれでしょう? ヒント:SQLコメントを参照してください。
【問題2】 public String getEmployeeCommBy_ARGS = "comm"; public List getEmployeesByComm(Float comm); DAOに上記のようなARGSアノテーションとComm(手数料)を指定するメソッドがあった場合、SQL文の条件を 「Commがnullでなければその値を条件にして、nullであれば0とする」 としたいとき、以下のSQL文にその条件を記述する方法は以下のどれでしょう? SELECT emp.*, dept.dname dname_0, dept.loc loc_0 FROM emp, dept WHERE emp.deptno = dept.deptno ヒント:SQLコメントを参照してください。
【問題3】 SELECT * FROM EMP /*BEGIN*/WHERE /*IF job != null*/job = /*job*/'CLERK'/*END*/ /*IF deptno != null*/AND deptno = /*deptno*/20/*END*/ /*END*/ SQLファイルに上記のようなSQL文が記述されています。実行時に引数jobとdeptnoがnullの場合、以下のどのSQL文が発行されるでしょう? ヒント:SQLコメントを参照してください。
【問題1】 EntityManagerを使用してQueryを実行したい場合、そのクラス定義の方法で正しいのは以下のどれでしょう?DAOはEmployeeDaoインターフェースとする。 ヒント:EntityManagerを使用したQueryの実行を参照してください。
【問題2】 EntityManagerのメソッドを使用してQueryを実行したい場合、バインドしたい引数が4つ以上のときは、以下のどの方法が正しいでしょう? ヒント:EntityManagerを使用したQueryの実行を参照してください。
【問題3】 EntityManagerのメソッドを使用して結果をListで受け取りたい場合、正しいメソッドは以下のどれでしょう? ヒント:EntityManagerを使用したQueryの実行を参照してください。
【問題4】 EntityManagerのメソッドを使用して結果を配列で受け取りたい場合、正しいメソッドは以下のどれでしょう? ヒント:EntityManagerを使用したQueryの実行を参照してください。
【問題5】 EntityManagerのメソッドを使用して結果をJavaBeansで受け取りたい場合、正しいメソッドは以下のどれでしょう? ヒント:EntityManagerを使用したQueryの実行を参照してください。
【問題6】 EntityManagerのメソッドを使用して結果をcount(*)の結果のような単独の値で受け取りたい場合、正しいメソッドは以下のどれでしょう? ヒント:EntityManagerを使用したQueryの実行を参照してください。
【問題1】 更新SQL文の自動生成で正しい説明を述べているのは以下のどれでしょう? ヒント:更新SQLの自動生成を参照してください。
【問題1】 自動的に更新SQL文を生成し、バッチ更新するための正しいメソッドの定義は以下のどれでしょう? ヒント:バッチ更新を参照してください。
【問題1】 検索SQL文を自動生成するための正しいメソッドの定義は以下のどれでしょう? ヒント:検索SQLの自動生成 、メソッドの定義を参照してください。
【問題2】 SELECT * FROM EMP WHERE empno = /*empno*/7788 上記の手動で作成したSQL文と同様のSQL文を自動で生成したい場合、正しいメソッドの定義は以下のどれでしょう?ただしempnoはプライマリーキーです。 ヒント:検索SQLの自動生成 を参照してください。
【問題3】 SELECT * FROM emp /*BEGIN*/WHERE /*IF deptno != null*/deptno = /*deptno*/20/*END*/ /*END*/ 上記の手動で作成したSQL文と同様のSQL文を自動で生成したい場合、正しいメソッドの定義は以下のどれでしょう? ヒント:検索SQLの自動生成 を参照してください。