繁体   English   中英

什么是CDI中的Spring-JDBC?

[英]What is the equivalent of Spring-JDBC in CDI?

考虑在新项目中用CDI替换Spring,我遇到了一个 问题 挑战:

我们使用SQL查询做了很多事情(JPA不合理):调用存储过程,报告,具有复杂语法的专用查询。

在Internet上有很多关于CDI数据库访问的简单例子,对于简单的例子,JPA就足够了。 但是你如何使用JPA中的SQL?

我正在寻找类似Spring-JDBC的东西,通过JDBC和容器管理事务(通过注释)运行SQL查询的简化接口,但我还没有找到任何东西。

如何在CDI中使用SQL查询? 是否可以使用CDI核心或扩展?

规范中没有任何关于这样做的事情。 您必须创建自己的库,创建事务层(或使用Java EE 7中的JTA 1.2或Apache Deltaspike)并以此方式构建它。 我确实提到了DeltaSpike ,它在(希望)即将发布的版本0.5中将具有一些这些查询和其他DB特定功能。

CDI代表上下文/依赖注入(如果我没有记错的话)。 它本身与SQL无关。 使用CDI和JPA可以使用数据库,但即使在这种情况下,JPA也可以完成所有工作。 CDI与它几乎没有关系。

如果你想使用本机查询和JPA的nativeQuery是不够的,你将不得不将Spring-JDBC依赖项添加到你的项目中,或者因为你正在离开Spring,另一个较小的库会给你带来东西类似于JdbcTemplate等。

总而言之,CDI没有Spring-JDBC的等价物,就像Spring没有等效的Swing GUI一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM