properties mysql转义_Hibernate 5.0.12 Mysql 5.7使用错误的列定义转义

我正在使用Hibernate Spring JPA和Mysql 5.7作为DBMS.我想使用一些保留的关键字作为列名,为此我可以使用:

spring.jpa.properties.hibernate.globally_quoted_identifiers = true

一些列具有自定义定义,例如:

@CreatedDate

@Column(updatable = false, columnDefinition = "DATETIME(6)")

private LocalDateTime createdDate;

不幸的是,Hibernate将其翻译为:

`created_date` `DATETIME(6)`

代替

`created_date` DATETIME(6)

我在Hibernate JIRA (JIRA)上发布了一个问题;我想知道是否可以同时使用一种解决方法.

解决方法:

感谢Hibernate员工,我找到了正确的解决方案:

为了避免引用该列定义,有一个特定的设置:

spring.jpa.properties.hibernate.globally_quoted_identifiers_skip_column_definitions=true

不幸的是,现在它可以向后工作(see this bug):因此,如果要跳过列定义,则必须将其设置为false.

标签:jpa,hibernate,spring,mysql

来源: https://codeday.me/bug/20191111/2018911.html

在Spring Boot整合PgSQL并设置大小写不敏感,需要进行以下步骤: 1. 在Spring Boot的配置文件(application.properties或application.yml)中,添加以下配置项: ```yaml spring.datasource.url=jdbc:postgresql://localhost:5432/your_database?stringtype=unspecified spring.datasource.username=your_username spring.datasource.password=your_password spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL95Dialect spring.jpa.hibernate.ddl-auto=none spring.jpa.properties.hibernate.default_schema=your_schema_name spring.jpa.properties.hibernate.globally_quoted_identifiers=true ``` 其中,`your_database`是你的数据库名称,`your_username`和`your_password`是你的数据库登录用户名和密码,`your_schema_name`是你的数据库模式名称。 2. 在主启动类上添加`@EnableJpaRepositories`注解,启用JPA Repositories的自动配置。 3. 创建实体类时,给需要忽略大小写的字段添加`@Column`注解,并设置`collation`属性为`"C"`。 ```java @Entity @Table(name = "your_table") public class YourEntity { //其他字段... @Column(name = "your_column", collation = "C") private String yourColumn; //getters和setters... } ``` 这样,当对该字段进行查询时,将忽略大小写。 4. 使用JpaRepository进行查询时,需要指定IgnoreCase。 ```java public interface YourRepository extends JpaRepository<YourEntity, Long> { List<YourEntity> findByYourColumnIgnoreCase(String yourValue); } ``` 这样,当调用`findByYourColumnIgnoreCase`方法时,将忽略大小写进行查询。 通过以上步骤,你就成功地将大小写设置为不敏感,并完成了Spring Boot与PgSQL的整合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值