加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在运行时动态创建表和java类

发布时间:2020-12-15 08:30:25 所属栏目:Java 来源:网络整理
导读:我的申请中有要求.我的表不会事先定义.例如,如果用户按名称创建表单,并添加其属性,如名称,滚动号,主题,类等.然后在运行时,应该有一个由名称学生创建的表列名称,滚动否,类及其相关类及其hibernate映射文件.有没有办法这样做? 提前致谢, Rima Desai 解决方法
我的申请中有要求.我的表不会事先定义.例如,如果用户按名称创建表单,并添加其属性,如名称,滚动号,主题,类等.然后在运行时,应该有一个由名称学生创建的表列名称,滚动否,类及其相关类及其hibernate映射文件.有没有办法这样做?

提前致谢,

Rima Desai

解决方法

这是可能的,但不清楚你为什么要这样做,所以很难提出任何具体的解决方案.

但通常,是的,您可以根据某些输入动态生成数据库表,hibernate类和映射.最简单的方法是使用一些模板引擎.我过去使用过Velocity这个任务非常好,但是如果你想尝试它们还有其他的.

编辑:

在OP澄清之后,更好的方法是使用XML来存储用户定义的数据.
上面的解决方案很好但是它需要重新编译应用程序是否更改了表单.如果您不想在每次用户编辑后停止并重新编译,那么XML就是更好的答案.

为您提供一些先发优势:

@Entity
public class UserDefinedFormData {
    @Id
    private long id;

    @ManyToOne
    private FormMetadata formMetadata;

    @Lob
    private String xmlUserData;
}

给定表单的定义,保存和加载保存为XML的数据是微不足道的.

如果您想要更多说明,请添加评论.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读