我做的小應用程序與Hibernate。只是從HB網站提供的樣本。休眠生成SQL錯誤 「選擇MY_TABLE MAX(ID)」
休眠說要DB:
drop table if exists some_db.my_table
create table some_db.my_table ......
select max(id) from my_table
當我從HSQL轉分貝到MySQL。
我有錯誤 「DEBUG ohejdbc.spi.SqlExceptionHelper - 您的SQL語法錯誤;請查看與您的MySQL服務器版本相對應的手冊,以獲得在第1行'my_table'附近使用的正確語法[N/A]」
因爲HB頑固地試圖說
select max(id) from my_table
代替
select max(id) from some_db.my_table
這是正確的語法時它涉及到
public void testBasicUsage() {
// create a couple of events...
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(new Event(.....)); // <<-------------------HERE
session.save(new Event(.....));
session.getTransaction().commit();
session.close();
和改變方言沒有幫助。
我已經嘗試切換到不同的HB版本,例如
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.6.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
,但它並不能幫助了。
改變連接(標準的 「根」/ 「」 訪問)等
jdbc:mysql://localhost:3306/some_db
代替
jdbc:mysql://localhost:3306
也沒有幫助。
這似乎是一個錯誤,但是這將是一個解決方案嗎?
實體被宣佈是這樣的: @Entity @Table(name = 「事件」,模式= 「some_db」) – WebComer
實體聲明如下: @ Entity @Table(name =「my_table」,schema =「some_db」) – WebComer