Oracle データベースの 2 つのテーブルからデータを取得しようとしています。MyEntity
アノテーションを使用するクラスを定義します(クラスを定義するときに使用@Entity
せずにのみ使用します@Table
)。このエンティティの休止状態は、次のコードのようになります。
public List<MyEntity> getAll() {
return oracleSessionFactory.getCurrentSession()
.createSQLQuery("SELECT a.column1, a.column2, b.column1" +
"FROM A_table a JOIN B_table b " +
"ON a.column1 = b.column1")
.addEntity(MyEntity.class).list();
}
hibernate のデフォルトのスキーマ プロパティを設定しました。default_property
永続化ファイルのデータソースで。ただし、これは次のようなエラーでは機能しません。
java.sql.SQLException: ORA-00942: table or view does not exist
以下のようにハードコードをSQLクエリに追加するだけで、プログラムは正常に動作します。
"SELECT a.column1, a.column2, b.column1 FROM myschema.A_table a JOIN myschema.B_table b ON a.column1 = b.column1"
、
プログラムがデフォルト設定を取得できるようにするにはどうすればよいですか?