运行时动态修改表结构的若干问题{hibernate}

时间:2021-07-31 14:34:12

项目中管理员需要根据业务对表字段进行增减。当前DAO的操作采用hibernate

方案1.增加若干备用字段以及状态位,将所有字段都按照string处理, 但是灵活性较差,

方案2.不走hibernate的映射,自己动态组装一个pojo。 但是太麻烦

方案3.通过修改、hbm。xml来修改数据库,hbm2ddl.auto=update

方案4.将表结构(A)映射为一个表B,表B的每个记录都是表A的一个字段,再建立主体与表B的关联,即表C,将表A用表B、表C体现,曲线救国吧

正在试验方案三:

问题1、解析dom,java.net.ConnectException: Connection timed out:

原因:.zheng验证xml中dtd的合法性,导致超时

解决方案: factory.setFeature(dtd name, false);//dtd name 为xml中dtd
factory.setIgnoringElementContentWhitespace(true); //eliminate white spaces