Spring Data Jpa 有更好的映射 SQL 语句的方法吗?

2018-08-20 10:11:39 +08:00
 abcbuzhiming
最近研究了一下 Spring Data Jpa 的文档。发现它的 ORM 方式似乎只有两种:
1 Dao 层的接口,接口方法名以驼峰的方式分割成关键词,映射为 SQL 的语句
2 通过 @query 注解手动编写类 sql 语句

我觉得这两种方式,灵活度都很一般。假设一个表里有 3 个字段,我分别有三个地方用到了这个表,但是是分别的查询 3 个字段。这在 dao 层里得写 3 个接口。这实在是有点累赘,很多 orm 工具都是直接提供条件字段映射类的,不需要从方法名上去映射,灵活的多,一个方法能搞定任何字段的查询。

是我打开 spring data jpa 的方式不对还是就只能这样?
4877 次点击
所在节点    Java
22 条回复
WispZhan
2018-08-20 19:41:05 +08:00
@passerbytiny 看来老哥也是个 ddd 爱好者
abcbuzhiming
2018-08-21 09:56:29 +08:00
@passerbytiny
“在 DDD 模式中,Repository 提供两个检索方法,领域服务或者应用服务决定调用哪个方法。”
我看完了你的描述,但是我这里的需求是:领域服务希望 Repository 的方法能更灵活一点,因为在我的应用场景里 Repository 对应的是持久层关系数据库的访问,对一张表(对象)只提供一个方法就能完成大部分查询,是件很有用的特性。如果 Repository 必须用多个方法才能应对领域服务的需求,这会增加额外的开发成本

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/481325

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX