我只想知道是否有任何方法可以编写适用于所有数据库的 sql 查询,例如如果我从 Oracle 切换到 My sql 或其他一些数据库,我不需要更改我的 Sql 查询,
Hibernate 在这种情况下会有所帮助,如果它会帮助如何?我对休眠一无所知,请解释一下它会有什么帮助。
谢谢苏达山
Hibernate 使用对象关系映射。因此,您无需更改代码或查询使用 hibernate。仅需要在关系映射 xml 和实体中仅定义表关系。
但它不会在所有地方都有效。如果您有复杂的关系查询意味着您可以在单独的 xml 中写入,并且可以从 xml 中读取查询。但是当您切换数据库时,您需要根据 Sql 语法修改 xml 查询,您不需要更改代码。
ORM 是您的解决方案,它将在数据库上创建一个单独的层。该层将与您的数据库交互。如果要将数据库从 Oracle 更改为 MySql,只需更改 XML 文件即可。
试试这个教程:绝对会帮助你很多:http ://www.youtube.com/watch?v=GINvxAaXDbY
Hibernate create and Object Relational Mapping. That is it considers tables as objects. So we use HQL to query the objects and not on the database. Hibernate takes care of all that.
One another option is to have you queries in a external file. So that depending on the database you can switch the files and no code changes are required. This is not a widely accepted solution