当前位置: 首页 > 面试题库 >

Hibernate / JPA DB模式生成最佳实践

乜清野
2023-03-14
问题内容

我只是想听听Hibernate专家对基于Hibernate / JPA的项目的数据库模式生成最佳实践的看法。特别:

  1. 项目刚开始时要使用什么策略?是否建议让Hibernate在此阶段自动生成模式,还是从项目的最早阶段手动创建数据库表更好?

  2. 假装在整个项目中都是使用Hibernate生成架构的,那么在系统发布到生产环境之前,最好禁用自动架构的生成并手动创建数据库架构吗?

  3. 在系统投入生产后,维护实体类和数据库模式的最佳实践是什么(例如,添加/重命名/更新列,重命名表等)?


问题答案:
  1. 始终建议手动生成模式,最好使用支持数据库模式修订的工具(例如伟大的Liquibase)手动生成模式。从实体生成模式在理论上很棒,但是在实践中却很脆弱,从长远来看会引起很多问题(请相信我)。

  2. 在生产环境中,最好总是手动生成并查看模式。

  3. 您对实体进行更新,并创建匹配的更新脚本(修订)以更新数据库架构以反映实体更改。您可以创建一个定义解决方案(我已经写了一些)或使用更流行的东西,例如liquibase(它甚至支持架构更改回滚)。如果您使用的是诸如maven或ant之类的构建工具,建议将db schema update util插入构建过程,以使新的构建与该架构保持同步。



 类似资料:
  • 本文向大家介绍Android夜间模式最佳实践,包括了Android夜间模式最佳实践的使用技巧和注意事项,需要的朋友参考一下 由于Android的设置中并没有夜间模式的选项,对于喜欢睡前玩手机的用户,只能简单的调节手机屏幕亮度来改善体验。目前越来越多的应用开始把夜间模式加到自家应用中,没准不久google也会把这项功能添加到Android系统中吧。 业内关于夜间模式的实现,有两种主流方案,各有其利弊

  • 我从0开始开发我的项目已经1年了。我的框架和测试已经达到了一定的“维护”水平。然而,每天我都在怀疑我是否在我的项目中使用了良好的实践。如果有经验的人能回答我的几个问题就好了。我主要对页面对象模式和页面工厂有疑问。 简要说明: 我的项目是一个基于一页的应用程序,用C#,angular编写。js,javascript。驱动程序是一个静态实例,它有很多额外的方法(在下面的代码中,我只展示了2)。每个页面

  • 问题内容: 我正在创建一个Web API,需要一种很好的方法来非常快速地生成一些格式正确的xml。我找不到在python中执行此操作的任何好方法。 注意:一些库看起来很有前途,但要么缺少文档,要么仅输出到文件。 问题答案: 使用lxml: 输出: 有关更多信息,请参见教程。

  • 问题内容: 我正在调用一个Web服务,该服务返回JSON中的对象数组。我想获取这些对象并使用HTML填充div。假设每个对象都包含一个url和一个名称。 如果我想为每个对象生成以下HTML: 是否有最佳做法?我可以看到几种方法: 连接字符串 创建元素 使用模板插件 在服务器上生成html,然后通过JSON投放。 问题答案: 选项#1和#2将是您最直接的直接选项,但是,对于这两个选项,您都将通过构建

  • 问题内容: 我使用适配器在活动内显示数据,我想在活动内实现,目前,我像往常一样在适配器内进行设置,效果很好。 但是我想在活动中实现它,所以我有更大的控制权。这不符合我的目的。我认为这对我们很多人都是有用的。 问题答案: 您需要在此处查看本教程,以更好地了解如何实现所需的行为。 如果要处理您的活动中的,则需要基于带有接口的回调实现。将接口从活动传递到适配器,然后在单击某些项目时从适配器调用回调函数。