如何在创建时默认情况下命令JPA将带有文本内容的MySQL数据库列设置为区分大小写?
答案 0 :(得分:9)
字段上的@Column
注释可以指定columnDefinition属性,该属性可以允许您为列指定区分大小写的排序规则。
public abstract String columnDefinition
(可选)为列生成DDL时使用的SQL片段 默认为生成的SQL以创建推断类型的列 默认:强>
""
在您的情况下,例如,使用@Column注释,您将使用
@Column(name =“NAME_COL”,columnDefinition =“VARCHAR(250)COLLATE latin1_general_cs”) 私有字符串名称;
答案 1 :(得分:0)
MySQL varchar
类型不区分大小写。你想要的是varbinary
。
CREATE TABLE IF NOT EXISTS `stuff` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` varbinary(255) NOT NULL -- varbinary to be case sensitive
) ENGINE=InnoDB DEFAULT CHARSET=utf8;