我正在开发Java更新级别的项目。 我不得不使用Hibernate实现数据库交互。 在第一阶段,我开始使用HQL查询语言。但是,后来我通过之前的问题了解了Criteria查询。 但是,在学习Criteria之后,我还没有得到我应该遵循的步骤来填充和从数据库中获取数据。 事实上,我需要手动开发什么包和类,以及我需要编写的脚本或查询来填充/获取数据,如果我使用Criteria给出数据库和表格? 还请告诉我,当我在步骤中使用PostGresql或MySQL等不同的数据库时会有什么区别。
答案 0 :(得分:0)
事实上,如果我使用Crieteria给我一个数据库和表格,我需要手动开发的包和类以及我需要编写的脚本或查询来填充/获取数据?
使用注释或xml映射文件创建对象模型并将其映射到表。可以持久化的类称为实体。使用Hibernate Tools的逆向工程模块,可以生成它们。
创建实体实例,设置其属性并使用session.persist(Object)
将它们持久保存到数据库以“填充数据”。使用Criteria API从数据库中读取并获取数据。数据访问通常使用DAO模式在数据访问层中完成。 DAO公开发现者和CRUD方法(创建,读取,更新,删除)。
如果这对您来说是新的,我建议使用Spring,它提供了有用的支持类,并将帮助您按照上述模式构建应用程序。看看Chapter 12. Object Relational Mapping (ORM) data access。
请告诉我,当我在步骤中使用PostGres或MySQL等不同的数据库时会有什么区别。
如果他们的物理模型不同,您可能需要更改实体的映射。除此之外,从一个数据库切换到另一个数据库需要使用适当的JDBC驱动程序,更改连接字符串和Hibernate方言(即这更多是配置问题)。