我有一些数据,stateNames,用于实例化对象Country的实例。现在,我将只有一个国家/地区,但是每个国家/地区的州名应该不同。用我的数据实例化Country实例的最佳方法是什么?我是新手,不胜感激任何“最佳实践”或通用设计。
我能想到的一种解决方案是使用BootStrap将Country的unitedStates实例保存到数据库中。这种方法有什么弊端?
另一种解决方案是将数据保存在web-app文件夹下的文件(以xml?格式)中。如果我采用这种方法,则 Controller 的 Controller 应该实例化Country的unitedStates实例吗?
最佳答案
checkout 代码后,项目应以无需任何设置的开发模式运行。考虑到这一点,BootStrap.groovy
是用最少的数据集(例如用户帐户或国家名称之类的静态数据)初始化数据库的好地方。
一种常见的模式是检查某些已知实例(例如admin用户帐户),并在不存在最小数据集的情况下插入该数据集。例如:
class BootStrap {
def init = { servletContext ->
def admin = User.findByUsername('admin')
if (!admin) {
// initialize the database by inserting a minimal data set
}
}
}