与JasperReports一起使用,用户可以在数据库中保存报告的参数["[{\"tagname\":\"TEST\",\"category\":\"DEFAULT\",\"isnew\":\"yes\",\"isdeleted\":\"no\"}]"]
,以便以后可用于自动调度并再次重新生成该报告。
当前,报表参数存储为字符串,然后作为BLOB编码为字节,即HashMap<String, Object>
这种方法(自动调度触发器触发时)非常昂贵,因为它会再次产生参数,并且还会产生参数值复杂的问题。
我想更改保存HashMap的方法,那会是什么?
我既可以保持数据库架构不变,又可以通过序列化它来保存reportParam,并在需要时反序列化它呢?如下所示,还是最好添加另一个具有1 .. *多重性的表,以便为每个报告分别存储参数?
还是我缺少任何更好的方法?检索reportParams时也要关注性能。谢谢。
rs.setParameters(reportParams.toString().getBytes("UTF-8"));