2017-02-10 105 views
0

我想創建一個具有命名查詢,但在另一個數據庫的表。並用參數獲取數據庫的名稱。Hibernate命名查詢參數

我試圖做這樣的

<sql-query name="createStatement"> 
    <query-param name="dbName" type="string"/> 
    CREATE TABLE `:dbName`.`test` (
     `customer_id` int(11) NOT NULL AUTO_INCREMENT, 
     PRIMARY KEY (`customer_id`) 
    ); 
</sql-query> 

但我發現了未知參數名稱例外。我試圖添加空格或刪除`字符,但仍然無法正常工作。

設置此參數的正確方法是什麼?

回答

0

查詢參數不能用於數據庫標識符。也不適用於表標識符,列標識符或SQL關鍵字或表達式。

查詢參數只能用於單個詞法元素,並且只能在其他情況下使用常量數據值(即帶引號的字符串文本,帶引號的日期/時間文字或數字文字)。