通用映射应仅包含没有特定列详细信息的类型信息,例如:<column name="code" type="string">
。
特定的映射包含列信息,例如:<column name="code" type="string" sql-type="varchar" length="10">
这是我的困惑:这种映射是否应该是通用的?如果它是通用的,那么将数据库改为地下很容易。但是,我想在映射文件中保留数据库详细信息,这使重新创建数据库变得更容易。
答案 0 :(得分:3)
如果从java类重新创建数据库,那就具体了。
如果你有一个单独的sql脚本来创建数据库,额外的细节只是噪音。
一些未请求的建议(但我认为你的问题在这方面遇到了这一点):从我的经验来看,我认为从映射创建数据库并不好,因为你可以为你的sql脚本添加更多细节(额外的索引,触发器,评论!和其他种类的DB黑魔法)。然后,你将如何更新该数据库? Hiberante可以更新模式,但执行该过程的过程是完整的错误。如果你需要回滚,你打算做什么?
以防万一,上面提到的内容仅适用于您正在进行商业应用的情况。如果您正在为娱乐/学校/大学做些事情,那么您将不需要关心更新和回滚。