- - PR -
Hibernate利用SQL検索のエラーについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-12-04 17:58
Hibernateを使ってEmployeeと関連付けしているSkillsを検索するが、Junitで実行した結果とWebアプリで検索した結果のSQL文が違います。
Employeeのマッピングファイル:Skillsの設定 <set name="skills" table="SKILL_MAP" cascade="none" lazy="false" order-by="SKILL_ID"> <key column="EMPLOYEE_ID"/> <many-to-many column="SKILL_ID" class="Skill"/> </set> トランザクションはSping2.0で管理され、テーブルの検索はHibernateを使用します。 StrutsのActionクラスで以下の構文を取り出そうとしたら、下記のエラー文が出ました。 ※employeeServiceはprivate インスタンスとして持っている、関連づけはDIで設定しています。 Employee employee = employeeService.getEmployee(employeeId); Set Skills = employee.getSkills(); 2007-12-04 17:32:28,437 WARN logWarnings (JDBCExceptionReporter.java:54) - SQL Warning: 0, SQLState: null 2007-12-04 17:32:28,437 WARN logWarnings (JDBCExceptionReporter.java:55) - Connection readOnly mode is not enforcable after the connection has been established. To enforce a read only connection, set the readOnly data source or connection property. Juintのテストケースで以下の構文をSkillsを取り出す場合は上記のエラー文が出ずに、思った通りのSQL文を発行してくれました。 EmployeeService employeeService = (EmployeeService) factory.getBean("employeeService"); Employee employee = employeeService.getEmployee(new Integer(2)); Set empSkills=(Set) employee.getSkills(); Webアプリで検索した場合、order by の順番で取ってくれないです。 これは上記のエラー文の影響でしょうか? いくつの方法を検証しましたが、うまくいかず、Hibernateの問題なのかDIの設定に不適切なのか分からないのです。 どうか、教えてください。お願いします。 |
1