如何自动在MySQL中使用JPA生成区分大小写的列

ali*_*ali 6 java mysql jpa

在创建时,如何命令JPA将带有文本内容的MySQL数据库列设置为区分大小写?

jbi*_*del 9

@Column字段上的注释可以指定columnDefinition属性,该属性可以允许您为列指定区分大小写的排序规则.

public abstract String columnDefinition

    (可选)在为列生成DDL时使用的SQL片段.
    默认为生成的SQL以创建推断类型的列.
    默认:
        ""

在您的情况下,例如,使用@Column注释,您将使用

@Column(name ="NAME_COL",columnDefinition ="VARCHAR(250)COLLATE latin1_general_cs")private String name;


Cha*_*ick 0

MySQLvarchar类型不区分大小写。你想要的是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;
Run Code Online (Sandbox Code Playgroud)