,如果你想簡單的情況下,你給了,你可以使用回答@Adrian。
但 - @Adrian '在冬眠你不能這樣做。' - 這不是真的。 它不是休眠限制,它是限制jdbc連接。默認情況下不允許有多個查詢。但是您可以將設置數據庫連接屬性設置爲允許多個查詢,默認情況下用分號分隔。這是附加的連接屬性。
allowMultiQueries =真
的jdbc:mysql的://本地主機:3306/hibernate_db allowMultiQueries =真
與WHIS選項,您可以執行:
<sql-query name="setAllColors" >
UPDATE chair
SET COLOR = 'Grey' WHERE NAME='AustrianWinter';
UPDATE chair
SET COLOR = 'Brown' WHERE NAME='ItalianSummer';
</sql-query>
UPDATE 2: 當您使用DriverManagerDataSource時,允許MultiQueries它不是連接的一部分,你應該把它作爲屬性。
從AbstractDriverBasedDataSource
/**
* Specify arbitrary connection properties as key/value pairs,
* to be passed to the Driver.
* <p>Can also contain "user" and "password" properties. However,
* any "username" and "password" bean properties specified on this
* DataSource will override the corresponding connection properties.
* @see java.sql.Driver#connect(String, java.util.Properties)
*/
public void setConnectionProperties(Properties connectionProperties) {
this.connectionProperties = connectionProperties;
}
所以,配置應該是:
<bean id="dataSourceBean" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/chairDB"/>
<property name="username" value="root"/>
<property name="password" value="pass123"/>
<property name="connectionProperties">
<props>
<prop key="allowMultiQueries">true</pro>
</props>
</property>
</bean>
來源
2017-07-02 10:06:03
xyz
其實這個解決方案是更有趣。但它似乎並沒有爲我工作..我改變我的hib配置從 jdbc:mysql:// localhost:3306/chairDB to jdbc:mysql:// localhost:3306/chairDB?allowMultiQueries = true 我做了一個乾淨的構建,然後回想起查詢......但仍然拋出錯誤。我是否缺少別的東西? –
BabaNew
請說明你如何運行這個查詢得到它?你只有一個hib配置文件嗎? – xyz
我編輯了這個問題,更多的信息:)謝謝你的方式 – BabaNew