【发布时间】:2018-01-23 11:20:59
【问题描述】:
我有一个包含实体的 JSON。该实体有 3 个属性:
firstName,FirstName,fIRStName。在我的 POJO 中,我使用来自 Lombok 的 @Data 注释
{
"name": "AtQueryEntity",
"attributes": [
{
"name": "FirstName",
"type": "STRING",
"required": true
},
{
"name": "fIRStName",
"type": "STRING",
"required": true
},
{
"name": "FIRSTName",
"type": "STRING",
"required": true
}
]
}
问题是 MYSQL 只创建 2 列。
IdFIRSTName
如何确保为所有属性创建列?
我知道约定是属性应该是唯一的,属性的第一个字母应该是小写的,但我有一个用例,其中属性只能通过大写或小写来区分。
Hibernate 或 JPA 中是否存在限制,它不会为仅因大写或小写而异的属性创建列?还是我在这里遗漏了什么?
【问题讨论】:
-
在 MySQL 中,"Column, index, stored routine, and event names are not case sensitive on any platform, nor are column aliases." 因此,您必须明确声明要用于每个字段的唯一(不区分大小写)列名。
-
谢谢。我需要添加验证以禁止具有相同字母频率的属性名称
标签: mysql spring hibernate jpa lombok