如何在DDL更新以添加新列时更新hibernate实体

时间:2014-11-10 16:28:29

标签: java hibernate

我使用struts2和hibernate创建了一个应用程序,它将excel文件上传到数据库并执行其他CRUD操作。 但是现在已经出现了一个变更要求,即用户应该能够从UI控制数据库模式,这意味着只要excel文件在数据库中有新列,用户就可以通过用户界面动态添加新列。

我不知道如何实现这一点,因为更新数据库仍然会使我的实体类保持不变。

为了说明问题,请考虑以下情况: 我有ab excel文件的员工只有两列:名称和卷号。所以我创建了一个实体类

Class Student{
    int id;
    string name;

    getters and setters
}

使用此实体类,我可以执行CRUD操作并将excel文件上传到数据库。

现在如果我需要在excel中添加一个新列说“age”,我该怎么办,然后还应该在数据库中创建这个“age”。此新列必须从用户界面动态添加。

有没有办法动态更新我的实体,还是有其他方法可以实现它。

1 个答案:

答案 0 :(得分:0)

我的建议是做类似的事情:

Class Student{
    int id;
    string name;
    List<Attribute> attributeList;

    getters and setters
}

Class Attribute {
  int id;
  String key;
  Object value;
}

如果您的学生与属性之间存在oneToMany关系,那么您的学生应该没有动态字段的问题。

希望它有所帮助!