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

休眠的替代方法

凌恩
2023-03-14
问题内容

什么是最佳解决方案?

制作视频的人相信

  1. 在许多情况下,hibernate过大
  2. 基本的sql是一种很好的语言,它可以使hibernate抽象化

我听说过其他一些ORM实现,例如

  • https://github.com/rufiao/persist
  • http://ormlite.com/
  • http://www.simpleorm.org/

我想听听他们如何比较,以及每个人的优缺点。


问题答案:

在这里,您可以找到Java
ORM和持久性解决方案的详尽列表。并非所有以下Hibernate / JPA方法都遵循,其中某些方法在设计上相当容易。

当然,该站点上没有列出解决方案,例如带有模板的Spring
JDBC等
。对于需要快速,轻松构建JDBC访问并且已经在使用Spring的项目,这是我个人的选择。

总的来说,至少对于我来说,说Hibernate不好并发展壮大还为时过早。它很好地满足了它的目的,但逐渐适应了许多鞋子。我个人的看法是,它将保持原样,但是NoSQL解决方案可能会催生出新的Java数据映射解决方案,例如Spring
Data
。有必要创建一种与应用程序数据进行交互的简单方法,但是我不相信如何达成目标……。



 类似资料:
  • 问题内容: 目前,Hibernate允许我直接使用*对一关系定义的对象 是否可以获取外键而不是对象? 我看到的当前方法是在映射中添加addint: 是否有更好的方法来获取外键,或者这是唯一的方法? 问题答案: 是的,你可以这样做。您只需要清楚地告诉休眠状态,哪一个是应该维护的映射,如下所示:

  • 问题内容: 据我了解,每当我在JPA / Hibernate实体内的Long字段上使用@Id和@GeneratedValue时,我实际上是在使用代理键,考虑到我的非母语,这是定义主键的一种非常不错的方法- 使用复合主键的良好经验,其中: 有不止一种业务-价值-行业组合成为唯一的PK 组合pk值在表详细信息中重复 无法更改该复合PK内的业务价值 我知道休眠可以支持两种类型的PK,但是我以前与有经验的

  • 问题内容: 我有一个问题,就是mysql中datediff的语法与hsqldb中的语法不同: hibernate中的方言通常可以解决这些问题,但是我似乎无法找到为hibernate创建datediff限制的方法。这是真正的麻烦,因为它使我无法使用内存中的hsql数据库进行单元测试,因为我必须在sql语句中“硬编码” datediff的格式。 如果有人对此事有任何建议,将不胜感激。 问题答案: 我会

  • 问题内容: 我有一个hibernate映射,该映射一直工作到最近-尽管我确定这是我所做的某些更改的结果,但我似乎找不到它。 映射文件将字段定义为: 该类将该字段定义为: 运行此代码时,出现以下错误: 与此对应的数据库字段定义为: 我还有其他几个具有相似结构和定义的类,并且它们没有问题。但是,可能由于我最近所做的一些更改而导致,此特定映射将不再正常工作。 有什么建议么? 问题答案: 我不确定,但是您

  • 问题内容: 我收到了一个我无法解释的奇怪的Hibernate异常。告诉我我正在使用二级缓存,但是没有在哪里指定二级缓存。这是例外: 而我的: 有什么想法会触发此异常吗?提前致谢! 问题答案: Pau在hibernate.cfg.xml中写了hibernate.cache.region.factory_class: 唯一的例外是不言而喻的。您必须设置 属性。例如,使用ehcache将添加以下行: n

  • 问题内容: 有人可以透视一下JPA和Hibernate之间的区别吗?还是将这些互补的概念一起使用? 问题答案: 大致来说,JPA是java社区的一个标准,这里是specs,它是由Hibernate家伙实现(并扩展)的(此处提供一些信息)。作为规范,您将不会直接使用JPA,而是使用JPA实现。 请注意,如果要使用hibernateJPA扩展,将破坏与其他JPA实现的兼容性(尽管有些人会说“为什么要使