更改Hibernate默认表结构

时间:2018-07-05 21:18:59

标签: java mysql hibernate orm

我想知道是否可以更改或设置将对象映射到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;
}

}

默认情况下使用此模式休眠创建表,但我的意思是[name]列是使用[VARCHAR(255)]创建的,因为我将其更改为例如[VARCHAR(50)]

注意:

我尝试使用== @Type(type =“ varchar(50)”)

OR

@Type(type =“ varchar-50”)

但是没有用!!!

有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

设置长度应该可以解决问题

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

默认长度为255。