简体   繁体   中英

Spring Roo + Hibernate: uppercase database name in the query

I've reverse engineered a sample MySQL database with Spring Roo, and I'm trying to insert a record using the Customer entity in this way:

Customer customer = new Customer();
customer.setFirstName("Raffaello");
customer.setLastName("Baresi");
customer.persist();

However, while the initial connection to the database the insert query fails, so I've enabled the full query log and I've noticed that the schema name is uppercased as ROO_CRM instead of roo_crm.

insert into ROO_CRM.CUSTOMER (COMPANY_ID, FIRST_NAME, LAST_NAME) 
values (null, 'Raffaello', 'Baresi')

My database.property file contains the lower case name:

database.url=jdbc\:mysql\://localhost/roo_crm?zeroDateTimeBehavior\=convertToNull&characterEncoding\=UTF-8

While the generated Customer class has an upper case schema attribute of the @RooEntity annotation:

@RooJavaBean
@RooToString
@RooEntity(versionField = "", table = "CUSTOMER", schema = "ROO_CRM")
@RooDbManaged(automaticallyDelete = true)
public class Customer {
}

I thought to lower case the schema name, clean and rebuild for added precaution, but the schema is still upper case in the query. I've also noticed that the Spring-managed Customer_Roo_Entity has the following line:

declare @type: Customer: @Table(name = "CUSTOMER", schema = "ROO_CRM");

Which is still with the upper case schema, but I'm not allowed to edit that file. What is the correct procedure to solve the problem?

It was actually very trivial solution: it was correct to change the schema attribute of the @RooEntity annotation. What I forgot is that, I should have left the roo shell open and that would have automatically modified the generated Customer_Roo_Entity.aj file.

I started the roo shell and the generated Customer_Roo_Entity.aj was modified and everything worked.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM