使用 Hibernate 时如何将 Serializable 更改为 String

Đào*_*ùng 3 java hibernate

我正在使用 Hibernate 从 MS SQL 创建实体类。但是随着 NVARCHAR Hibernate 更改为 Serializable 类型。它会产生一些错误,因为当我 CRUD 时 NVARCHAR 和 Serializable 之间发生冲突!

无论如何,当 Hibernate 自动创建实体类时,必须将 Serializable 更改为 String 吗?

抱歉,我的英语技能不好,所以我在这个网站上找不到这个问题的信息。

我正在为 LUNA Eclipse 使用 JBoss 工具,我执行以下步骤:

在此处输入图片说明

在此处输入图片说明

这是 Hibernate 创建后的类

@Entity
@Table(name = "SubMenu1", catalog = "MySite")
public class SubMenu1 implements java.io.Serializable {

private byte id;
private Menu menu;
private Serializable name;

public SubMenu1() {
}

public SubMenu1(byte id, Menu menu) {
    this.id = id;
    this.menu = menu;
}

public SubMenu1(byte id, Menu menu, Serializable name) {
    this.id = id;
    this.menu = menu;
    this.name = name;
}

@Id
@Column(name = "id", unique = true, nullable = false)
@GeneratedValue(strategy=GenerationType.AUTO)
public byte getId() {
    return this.id;
}

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

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "idMenuParent", nullable = false)
public Menu getMenu() {
    return this.menu;
}

public void setMenu(Menu menu) {
    this.menu = menu;
}

@Column(name = "name")
public Serializable getName() {
    return this.name;
}

public void setName(Serializable name) {
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

我想要对 String 的 Serializable 更改自动执行,我不需要手动更改

OO7*_*OO7 5

编辑您的hibernate.reveng.xml文件并<type-mapping>在文件部分添加以下条目:-

<sql-type jdbc-type="NVARCHAR" hibernate-type="string"/>
Run Code Online (Sandbox Code Playgroud)

当 Hibernate Generation Wizard 将为您生成类时,它将hibernate.reveng.xml用于类型转换。因此,当生成器遇到NVARCHAR数据类型时,它会检查它是否等效hibernate data type并将其转换为String类型。