我正在Spring上用Java构建更大的项目,很多人建议我使用hibernate来简化对数据库的访问。问题是,我必须使用该项目以前版本的数据库,该数据库以前是用PHP编写的,因此肯定不能使用hibernate。我已经读过一些有关hibernate的知识,但是我仍然不确定一件事- 它是否必须更改数据库的结构,还是可以将标准MySQL数据库与int,varchar和其他类型的存储值一起使用,而仅使用hibernate摆脱很多SQL在我的Java代码中?
虽然可以使用Hibernate创建/删除表,但通常在生产环境中不会这样做。在这些情况下,您要定义POJOS和基础数据库架构之间的对象关系映射。因此,实际上,Hibernate不需要向数据库架构添加任何内容。
如果您使用的是在应用hibernate之前定义的Schema,则可能需要确保字段转换器合适(即,Hibernate对于SQL中的哪种列类型构成日期或数字可能有不同的想法),但这意味着您将必须提供显式映射/转换器,而不要使用默认值。
但是,您应该能够使用Hibernate,而无需对现有数据库架构进行任何重大更改。