gpt4 book ai didi

java - Spring Roo + hibernate : uppercase database name in the query

转载 作者:太空宇宙 更新时间:2023-11-04 08:31:53 25 4
gpt4 key购买 nike

我已经使用 Spring Roo 对示例 MySQL 数据库进行了逆向工程,并且我尝试以这种方式使用 Customer 实体插入记录:

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

虽然生成的 Customer 类具有 @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");

仍然采用大写模式,但我不允许编辑该文件。解决问题的正确步骤是什么?

最佳答案

这实际上是非常简单的解决方案:更改 @RooEntity 注释的架构属性是正确的。我忘记的是,我应该让 roo shell 打开,这样就会自动修改生成的 Customer_Roo_Entity.aj 文件。

我启动了 roo shell,生成的 Customer_Roo_Entity.aj 已被修改,一切正常。

关于java - Spring Roo + hibernate : uppercase database name in the query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com