我知道这是一个新手问题,但我就是这样。我正在用java编写一个应用程序,它有很多H2数据库查询到目前为止我已经编写了从数据库中提取我需要的数据的方法,因为这是我知道的唯一方法。我的问题是,有没有一种更简单的方法可以更有效地从我的数据库中获取数据并减少工作量。在我的研究中,Spring 做了类似的事情,但如果是这样,我一直无法找到关于如何实现它的好信息。
谢谢,
我知道这是一个新手问题,但我就是这样。我正在用java编写一个应用程序,它有很多H2数据库查询到目前为止我已经编写了从数据库中提取我需要的数据的方法,因为这是我知道的唯一方法。我的问题是,有没有一种更简单的方法可以更有效地从我的数据库中获取数据并减少工作量。在我的研究中,Spring 做了类似的事情,但如果是这样,我一直无法找到关于如何实现它的好信息。
谢谢,
我想说有更好的方法叫做Java Persistence API。它将使您的代码 ORM 不可知,并提供一些灵活性。
JPA 2.0 非常丰富,可以满足您的所有需求。所以我认为你不应该直接使用 Hibernate,而应该尽可能地使用 JPA。请注意,Hibernate 是 JPA 2.0 提供者。
我也在大型环境中大量使用 H2。我的建议是使用 JPA,尤其是 Hibernate,因为它是最流行的实现之一。
您要避免的是编写本机 sql,就好像您要更改数据库一样(如果您是),您将遇到许多本机 sql 问题。JPA 通过定义类似于 SQL 的 JPQL 来解决它,但可以在任何数据库上工作。
hibernate 的另一个巨大好处是可以使用 L2 缓存,这可以大大加快您的应用程序的速度。
最后一个好处可能与您最相关 - 设置可能需要更长的时间,但是一旦设置好,使用纯 java 的数据库就容易多了。
有很多选择。正如 ShyJ 所写,Spring Data JPA就是其中之一。许多人使用休眠。您可以使用其他库,例如SimpleORM。
但我想知道“哪个更好”是否是 StackOverflow 的正确问题类型。有很多方法可以“正确”地做到这一点,并且需要考虑很多事情。