我正在寻找一个 Java(或 Groovy)解决方案来管理静态数据,即不经常更改的表中的数据,例如国家/地区列表。
我想将国家/地区列表保留在文本文件中,并在服务器启动时自动更新表格。我不能简单地删除所有表,然后将数据重新插入文本文件中,因为这会违反关键约束。
DbUnit 是一个支持将数据从 XML 文件加载到数据库中的库。它有一个 refresh operation这几乎满足了我的需要。这将插入文件中但不在数据库中的任何行,更新数据库中也在文件中的任何行,但不会删除数据库中但不在文件中的任何行。
有没有人找到解决这个问题的好方法?
谢谢, 唐
最佳答案
我之前已经通过推迟约束解决了这个问题。
通常,在行中插入或更新数据时会检查约束。插入行时,将检查所有约束并接受或拒绝该行。但是,您可以将约束检查推迟到事务提交为止。请参阅:
http://www.remote-dba.cc/t_garmany_easysql_deferred_constraints.htm
这是供应商特定的行为。它可以在 oracle 中运行,但据我所知,在 mysql 中不支持。
关于java - 管理静态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1301795/