Spring Data JPA之类的项目不依赖于Spring

问题描述 投票:0回答:3

有谁知道有哪些Java框架遵循存储库方法并自动实现查询方法(例如

findByNameAndLastName(…)
)但不与Spring绑定,仅与纯JPA绑定。 GORM 中也存在这样的功能。我想看看是否有任何项目可以在Guice或纯JavaEE环境中使用而不需要引入Spring作为依赖。

spring jakarta-ee guice spring-data-jpa
3个回答
15
投票

(免责声明:我是 Spring Data JPA 的作者)

CDI 查询模块,它与 Spring Data JPA 非常相似。还有一个 DeltaSpike 模块

请注意,Spring Data JPA 附带了一个 CDI 扩展,该扩展将存储库代理创建为普通 CDI bean,并且不会引导 Spring 容器。有些 API 允许以编程方式创建存储库代理,例如:

EntityManager em = // … obtain EntityManager
JpaRepositoryFactory factory = new JpaRepositoryFactory(em);
UserRepository repository = factory.getRepository(UserRepository.class);

是的,它仍然需要 Spring 库存在于类路径中,但它随后使用它们的方式类似于使用 Commons Collection 等。我们尽量不要重新发明轮子,我们所依赖的 Spring 库提供了许多我们不必重新编码的有用代码。

因此,如果您担心的是 Spring 作为 DI 容器,请随意给 Spring Data JPA 的 CDI 扩展一个选择。如果您不想使用任何 Spring(无论出于何种原因),请查看替代方案。


0
投票

根据 Oliver 的信息,后续也对这个话题感兴趣 --

CDI 查询加入 Deltaspike 邮件线程:http://apache-deltaspike-incubator-discussions.2316169.n4.nabble.com/Porting-the-CDI-Query-extension-project-to-DeltaSpike-td4329922.html

Deltaspike 基础链接:http://deltaspike.apache.org/index.html

入门:http://deltaspike.apache.org/documentation.html

截至 2013 年 5 月 31 日刚刚发布了 0.4 版。

但是,还没有进行足够的审查来对比/比较 Deltaspike 与带有 CDI 扩展的 Spring-Data(spring-data 非常成熟)。


0
投票

看看 github 上的 Tomato!

它是 Spring JPA 的功能替代品,零依赖,性能更好并且更易于使用。它将减少 98% 的数据访问代码,并立即提供您想要的结果。

https://rpbarbati.github.io/Tomato.

如果您想要任何 Tomato 实体或层次结构的免费、功能齐全的动态表单和/或表格,并且也可以轻松自定义,请尝试基于角度的配套项目...

https://rpbarbati.github.io/Basil

两者都是当前的、维护的项目。

您可以自己尝试一下,或者如有问题,请通过 [email protected] 与作者联系。

© www.soinside.com 2019 - 2024. All rights reserved.