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

GWT的Java数据库抽象(或:Hibernate是一个不错的选择吗?)

殷建弼
2023-03-14
问题内容

我们目前正在使用Google Web
Toolkit开发某种企业资源管理系统。我们的主要目标是保持系统的扩展能力,模块化和低成本。我们选择PostgreSQL作为数据库,因为Oracle和MySQL太昂贵了。但是,我们在Oracle方面拥有最丰富的经验。我们还需要对数据库进行某种复制。

服务器后端将用Java编写。

我们现在正在寻找一个好的数据库抽象。我们曾经考虑过使用Hibernate,但是尽管可以在GWT中使用它,但是我们不知道它是否是最好的选择。谁能给一些指点?还有其他好的框架可以使用吗?也许我们将使用JDBC编写所有代码,因为它既快速又可扩展,但这将意味着更大的开发成本。但是我们怀疑大数据表,我们没有hibernate的经验。

Hibernate的优点(我能想到):

  • 快速发展
  • 好的文件
  • 稳定
  • 积极开发的(我们不想使用一个人开发的框架)
  • 负担得起的支持(当一切出错时)
  • 有钱的时候就可以改用Oracle(专业版)

缺点:

  • 可能无法扩展(不知道这是不是真的)
  • 如果它崩溃了,我们可能会被拧死(但是看起来很稳定)
  • 我们需要另一个架构层(你需要GWT某种数据传输对象,如Hibernate进行持续化类不可被序列化了源)

问候,

尤兹


问题答案:

恕我直言,hibernate的最大问题是:1.与大量数据相比,原始JDBC的性能问题。2.大对象图等复杂的映射问题。您将花费大量时间来配置域模型以使其与hibernate一起正常工作。

您的另一种选择是使用Spring的JDBC框架,该框架将为您提供hibernate的对象序列化功能,并具有对JDBC查询的更细粒度的控制,并且具有更大的可伸缩性,并且我认为更容易开发



 类似资料:
  • 在一次采访中,有人要求我说明什么时候选择接口类,什么时候选择抽象类,在什么条件下你将从这两个类中选择一个。我对界面做了分析,那就是... 接口是进行类型声明或定义多方合同的最佳选择。如果多个程序员在一个项目的不同模块中工作,他们仍然通过定义接口来使用彼此的API,而不是等待实际的实现就绪。 这在编码和开发方面给我们带来了很大的灵活性和速度。接口的使用还确保了最佳实践,如“为接口编程而不是实现”,并

  • 我有一个带有spring 3和hibernate框架的标准web应用程序。我有两个应用程序上下文。xml和hibernate。cfg。包含数据库连接数据的xml文件: ... 现在,我需要使用动态数据库名称更改这个应用程序,如何在ServletContextListener中设置它的运行时。contextInitialized?

  • 问题内容: 我有一个称为Data的数据库,它是数据库中每个实体的父级。它包含Id等通用属性。然后,我有了一个扩展Data的实体,这也是由于其子类的通用功能而引起的。我的数据库中的映射是正确的。 这是我的等级制度的一个例子 并且表已正确映射: 无论如何,是否在数据库中查询所有作为Employee实例的Employee子类(FullTimeEmployee,PartTimeEmployee),而不在查

  • 问题内容: 在Python,Java和其他几种硒绑定中,在HTML结构(class)上有一个非常方便的抽象。 例如,假设有以下标记: 这是我们如何在Python中操作它的方法: 换句话说,这是一个 非常透明且易于使用的抽象 。 可以类似的方式 在量角器* 中操纵标签吗? * 这与下拉式量角器e2e测试中的“如何选择选项”或量角器测试中的“选择”框中的如何单击选项不是重复的?。 问题答案: 在量角器

  • 在Python、Java和其他几个selenium绑定中,对

  • 问题内容: 是否可以对位于同一服务器上的不同数据库进行选择(或插入)语句?如果是,怎么办? 问题答案: 您将使用以下语法指定数据库 例: