2012-12-18 70 views
1

我有一些数据,stateNames,实例化对象国家的一个实例。现在,我只会有一个国家,但每个国家的国家名称应该不同。用我的数据实例化国家实例的最佳方式是什么?我对Grails很陌生,并会欣赏任何“最佳实践”或常见设计。Grails的设计领域类的初始化从静态数据

一个解决方案,我能想到的就是使用自举到国家的实例国家UnitedStates保存到数据库中。这种方法有什么缺点?

另一种解决方案是保存在一个文件中的数据(XML格式?)下的web应用程序文件夹中。如果我采用这种方法,美国的国家实例是否应由管制员实例化?

回答

1

一个项目的目标应是检查出来的代码后,无需任何设置在开发模式下运行。考虑到这一点,BootStrap.groovy是使用最小数据集(例如用户帐户或静态数据(如国家/地区名称))初始化数据库的好地方。

一个常见的模式是检查一些已知的情况下 - 如管理用户帐户 - 并插入最少的数据,如果它不存在设置。例如:

class BootStrap { 

    def init = { servletContext -> 
     def admin = User.findByUsername('admin') 
     if (!admin) { 
      // initialize the database by inserting a minimal data set 
     } 
    } 
} 
+0

太棒了,这就是我所得到的。 – Alison

0

写一个服务接受输入并坚持到数据库,并从任何地方调用它,它可以根据你的requirement.Boot带引导或控制器是繁重的好办法。

+0

你是什么意思的服务“坚持到DB?” – Alison

+0

我在说关于静态数据的初始化,因为ataylor建议 – Akhilesh