更改hibernate默认表结构

0s0u357o  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(348)

我想知道是否可以更改或设置hibernate在将对象Map到mysql时所做的表结构的值。
我的问题是如果我有这个实体类:

@Entity
@Table(name="user_table")
public class User {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;

@Column(name="name")
@Basic(optional=false)
private String name;

private String adress;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getAdress() {
    return adress;
}

public void setAdress(String adress) {
    this.adress = adress;
}

}

hibernate默认情况下用这个创建表,但我的观点是(name)列是用[varchar(255)]创建的,colud我将它更改为[varchar(50)]
注:
我尝试使用=>@type(type=“varchar(50)”)之类的东西
或者
@类型(type=“varchar-50”)
但它没有工作!!!
有什么帮助吗?

yyhrrdl8

yyhrrdl81#

设置长度应该起作用

@Column(name="name", length = 50)
@Basic(optional=false)
private String name;

默认长度255。

相关问题