Hazırda bekletme ve bir MySql sunucusu kullanıyorum. Birden çok veritabanını "ad alanları" olarak kullanıyorum (ör. users
, transactions
, logging
vb.).Hazırda bekletme neden bu SQL sorgusunu oluşturuyor?
Yani, belirli bir veritabanına bağlanmak DEĞİL için Hibernate configued:
url = jdbc:mysql://127.0.0.1/
tablolar catalog
özelliğiyle HBM dosyalarında tanımlanmıştır bulunan veritabanlarını:
<class name="com.myApp.entities.User" table="user" schema="" catalog="users"> ...
Bazı verileri yüklemek istediğimde, her şey iyi çalışıyor ve Hazırda Beklet, beklenen SQL sorgularını oluşturuyor gibi görünüyor (katalog adlarını kullanarak tablo adlarını kullanarak) : Ben yeni bir kayıt eklemeye çalıştığınızda
Ancakselect id from users.user
, hazırda artık from [catalog].[table_name]
sözdizimi kullanmayın. Bu yüzden bir 'MySQL hatası' veritabanı seçilmedi 'alıyorum.
select max(id) from user
hazırda yeni bir kayıt oluşturmak için gelecekteki kimliği almak çalışıyor, ancak veritabanı tablosu bulunduğu belirtmez, bu olmalıdır:
select max(id) from users.user
Neden hazırda oluşturucusudur Bu geçersiz sorgu? Birisi bu problemi yaşadı mı?
Kullandığınız hazırda bekletme sürümü nedir? –
Hibernate-4.2.2 kullanıyorum –
kullanırsanız ne olur: schema = "users" catalog = "users"? – Rafa