1.做之前数据库当然是设计好的,但在做的过程中肯定是会改动的,可能是需求变化,可能是解决方案的变化。
2.这样,你说的数据迁移问题,是发生在项目已经上线了,数据都是又有的话,如果数据库改动非常大,那就通过sql导数据吧,hibernate没那么高级。如果数据库改动不大(这要看数据库设计人员的功力了),那也没什么数据迁移的问题了。代码的地方改改好了。
3.渐进式开发?好的系统维护性很好,可扩展性强,这要在开发的时候在细节的地方就注意起来。“把变化的和不变的隔离开来”,“面向接口编程”,能用一些设计模式想必是极好的,但不要为了设计而设计哦。但实际情况时,一般(注意是一般)的大型项目,维护或者加新的功能,都会让你头疼的。