关于spring-data-jpa

1对n 数据嵌套的问题,有没有大佬有优雅的方式解决呢

一对一,你是觉得哪里不优雅??
最省心的办法就是,别按照OOP模式建模,一张表,一个对象。

一对多 双向查询 出现循环嵌套 怎么写会比较好

??你怎么建模的,我一对一没出现过循环嵌套的问题。

一对多 一对多 一对多 一对多 一对多 一对多 一对多 一对多

:rofl: 我傻逼了,看错字儿。。。
一对多的话,应该有一方放弃维护权,这样并不会嵌套啊。

我一直也是用JPA,一年多没用过MYBATIS了,不过我用JPA不按照oop建模,所以没这些关联。

双向 双向 双向 双向 双向 双向 双向 双向 双向 放弃了成单向了

你不用级联操作吗

Querydsl来执行关联检索,它可以很好的配合JPA。我给你看个Demo。

QCollectionGroup qCollectionGroup = QCollectionGroup.collectionGroup;
QVideoCollection qVideoCollection = QVideoCollection.videoCollection;
QVideo qVideo = QVideo.video;

JPQLQuery<Video> jpqlQuery = query.select(Projections.bean(Video.class, qVideo.id, qVideo.title, qVideo.playCount, qVideo.poster, qVideo.duration,
        qVideoCollection.createdDate)) // 添加时间
    .from(qVideoCollection)
    .innerJoin(qCollectionGroup).on(qCollectionGroup.id.eq(qVideoCollection.groupId))
    .innerJoin(qVideo).on(qVideo.id.eq(qVideoCollection.videoId))
    .where(qCollectionGroup.userId.eq(userId)
            .and(qCollectionGroup.id.eq(groupId))
            .and(qVideo.enabled.eq(true)))
    .offset((page - 1) * rows).limit(rows)
    ;

你可以试试看 ,完全用代码的方式来实现join检索,子检索。很舒服。

感谢 :pray: 我看一下