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

时间:2010-07-01 19:00:21

标签: java mysql jpa

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

2 个答案:

答案 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;