簡體   English   中英

如何從條件生成器中排除數據庫名稱?

[英]How to exclude db name from criteria builder?

我正在嘗試從 msSQLDB 獲取數據(如果相關),但在執行此操作時遇到了問題。 我想要的是從查詢中排除數據庫名稱,它應該是這樣的:

Select ... from CLASS2 ...

但我得到的是:

Select ... from db1.CLASS2 ...

這是一個有些遺留的項目,所以不可能改變架構。 它適用於 Oracle -> WL -> MSSQLDB 但在當前規范中:PostgreSQL -> Tomcat -> MSSQLDB 它沒有。 不確定我是否提供了足夠的數據來使用,因此如果需要我可以提供更多詳細信息。

@Table(name = 'CLASS') //table from db1
class CLASS1 exstends SUPERCLASS {
 //empty
}
@Table(name = 'CLASS2') //table from db2
class CLASS2 exstends SUPERCLASS {
//empty
}

@MappedSuperclass
class SUPERLASS {
//fields here

public static List<CLASS1> getData(ConnectionToken ct) {
CriteriaBuilder cb = ct.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery(CLASS1.class);
Root<CLASS2.class) = qurey.from(CLASS2.class)
query.where ...
return ...

}
}

這看起來很微不足道,我只是忘了我能做到。 在@TABLE 注釋中,我剛剛添加了“模式”參數@Table(name = 'CLASS2' shema='db2')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM