1
大寫的數據庫名稱,我逆向工程與Spring Roo的樣本MySQL數據庫和我試圖插入一條記錄使用Customer實體以這樣的方式Spring Roo的+ Hibernate的:在查詢
Customer customer = new Customer();
customer.setFirstName("Raffaello");
customer.setLastName("Baresi");
customer.persist();
但是,在初始連接到數據庫時插入查詢失敗,所以我啓用了完整的查詢日誌,並且我注意到模式名稱被大寫爲ROO_CRM而不是roo_crm。
insert into ROO_CRM.CUSTOMER (COMPANY_ID, FIRST_NAME, LAST_NAME)
values (null, 'Raffaello', 'Baresi')
我database.property文件包含小寫名稱:
database.url=jdbc\:mysql\://localhost/roo_crm?zeroDateTimeBehavior\=convertToNull&characterEncoding\=UTF-8
而產生的客戶類有@RooEntity註釋的大寫模式屬性:
@RooJavaBean
@RooToString
@RooEntity(versionField = "", table = "CUSTOMER", schema = "ROO_CRM")
@RooDbManaged(automaticallyDelete = true)
public class Customer {
}
我認爲小寫模式名稱,乾淨和重建,以增加預防措施,但模式仍然是大寫的查詢。我也注意到了Spring管理Customer_Roo_Entity具有以下行:
declare @type: Customer: @Table(name = "CUSTOMER", schema = "ROO_CRM");
仍然是用大寫的模式,但我不允許編輯該文件。解決這個問題的正確程序是什麼?
當我們引用數據庫模式時,我不認爲這種情況很重要。順便說一下你使用的數據庫是什麼?這可能是一些其他問題。 – bhagyas
嗨@bhagyas,我在Linux上使用MySQL,所以對於這個組合來說很重要。我剛找到解決方案...我忘了運行roo shell ...我知道這聽起來有點愚蠢的錯誤,但我正在學習。 – stivlo
沒關係,歡呼聲和Roo一切順利! :) – bhagyas