刚才整理了一下varchar和nvarchar的区别,然后用Hibernate映射到数据库时,发现String类型被映射为了varchar,就在网上找了一下怎样将String映射为nvarchar。
方法一:
对于String类型,你可能是这样映射的
private String name;
@Column(length = 20 , nullable = false , unique = true)
public String getName() {
return name;
}
查看数据库,你会发现name字段应该是这样 name varchar(20);
现在我们修改一下Annotation,让他映射为 name nvarchar(20)
private String name;
@Column(length = 20 , nullable = false , unique = true , columnDefinition="nvarchar(20)")
public String getName() {
return name;
}
再查看数据库,你会发现现在应该是 name nvarchar(20);
注意:加上columnDefinition之后,length好像没有作用了,必须要在columnDefinition的value中指定长度。