我正在尝试从 oracle 数据库的两个表中获取一些数据。我定义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();
}
我已经设置了休眠的默认模式属性。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"
,
我怎样才能让我的程序选择默认设置?