6

有谁知道任何遵循存储库方法并自动实现查询方法(例如findByNameAndLastName(…))但不依赖于 Spring 的 Java 框架,只有纯 JPA。这样的特性在 GORM 中也存在。我想看看是否有任何项目可以在Guice或纯JavaEE环境中使用而无需将Spring作为依赖项。

4

3 回答 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(无论出于何种原因),请查看替代方案。

于 2013-02-08T10:41:21.647 回答
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 非常成熟)。

于 2013-06-20T18:53:27.037 回答
0

看看github上的Tomato吧!

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

https://rpbarbati.github.io/Tomato

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

https://rpbarbati.github.io/Basil

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

自己尝试一下,或通过 rodney.barbati@gmail.com 联系作者有问题。

于 2017-01-03T22:02:26.593 回答