Hibernate:覆盖persistence.xml中的hibernate.default_schema属性

时间:2011-11-17 04:17:36

标签: hibernate jpa

我在persistence.xml中声明了我的默认模式:

<property name="hibernate.default_schema" value="MYSCHEMA" />

但是,现在我想从CURRSCHEMA访问一个表,该表位于同一个数据库中。

实体在CURRSCHEMA中创建为Curreny表的货币。

但是运行以下查询会尝试访问MYSCHEMA.Currency,从而导致错误。

// here will go the code to fetch currency
String currencySql = "select C.pk.currCode from Currency C where C.pk.idCode = :idCode";
Query currencyQuery = this.em.createQuery(currencySql);
currencyQuery.setParameter("idCode", "CCY");

我的实体正在使用注释:

@Entity
@Table(name="CURRENCY")
public class Currency implements Serializable {

将@Table(name =“CURRENCY”)更改为@Table(name =“CURRSCHEMA.CURRENCY”)无效。

如何解决这个问题?

1 个答案:

答案 0 :(得分:10)

您是否尝试过@Table(schema = "CURRSCHEMA", name = "CURRENCY")