如何让Camel JPA使用非默认的数据库模式?
我有一个带有命名查询的路由
.to("jpa://com.example.MyEntity?namedQuery=MyEntity.findAllRelevant")
以及一个在不同登录方案下的实体
@Entity
@Table(
name = "V_MY_ENTITY",
schema = "DIFFERENT_SCHEMA"
)
@Immutable
@NamedQueries({@NamedQuery(
name = "MyEntity.findAllRelevant",
query = "select m from MyEntity m where m.relevant = 1"
)})
public class MyEntity{
以及相关配置
spring.jpa.properties.hibernate.default_schema=MY_SCHEMA
现在出现
由错误引起:942,位置:653,SQL = select ... from MY_SCHEMA.v_my_entity ..., 原始SQL = select ... from MY_SCHEMA.v_my_entity ..., 错误信息 = ORA-00942: table or view does not exist
at oracle.jdbc.driver.T4CTTIoer11#processError[723]
尽管在实体上为查询设置了 different_schema。
如何让camel-jpa使用不同于默认模式的架构?
解决方案
变通方法是在 MY_SCHEMA 内创建一个同义词,使其指向 DIFFERENT_SCHEMA
create synonym v_my_entity for different_schema.v_my_entity;
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。