@
passerbytiny 好吧,严谨一点说,spring data jpa 用 repository 来承担了 dao(或者叫 mapper)层的功能
我没看懂“不应该考虑表、字段等任何数据库方便的概念”这句话,你不从数据出发如何建模呢?或者说你觉得正确的思考方式是什么样的呢?
我第二段的需求,是希望能追求灵活性,举个例子,User 对象(表),在场景 1 下需要搜索 userName 字段,到场景 B 需要检索 nickName 字段,按照 spring data jpa 的文档,正统的做法你得在 UserRepository 准备两个 find 方法
findByUserName(String userName)
findByNickName(String nickName)
这在我看来是比较麻烦的,因为很多其他 Orm 工具提交这样的做法,以下是伪代码:
DYSQL dySQL = new DYSQL() //动态 sql 条件查询类生成
dySQL.eq("列名",列值)..eq("列名",列值).groupy("XXXX").Order("XXX");
select(dySQL);
嗯,其实就是上面提到的 QueryDSL