左连接带来 2 个不同的对象

发布于 2024-11-03 15:07:04 字数 1576 浏览 0 评论 0原文

我无法制作一个更好的标题,如果有人能做到,请帮助我!标签也是如此。

我已经创建了一个 JPQL 来为我带来一个对象以及其他对象的列表。

正在发生的事情是。

我在 Novidade(DB) 中有 2 个项目。

我在 ComentarioNovidade(DB) 中有 2 个项目。

Novidade 中的 1 个项目连接到 ComentarioNovidade 中的所有 2 个项目。另一个没有与CommentarioNovidade相关。

JPQL 返回一个 Novidade 列表(应该是)

我试图让它返回一个 Novidade,其中包含所有 ComentarioNovidade(如果有的话)。

它返回 3 个包含 Novidade 和 ComentarioNovidade 的对象。 ComentarioNovidade

我的 JPQL 是这样的:

from Novidade as n left outer join n.comentariosNovidade

Novidade 类:

@Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="CodNovidade")
    private Integer codNovidade;

    @Column(name="Mensagem")
    private String mensagem;

    @Column(name="CodigoCidade")
    private int codCidade;

    @Column(name="CodigoBairro")
    private int codBairro;

    @Column(name="MesmoBairro")
    private String mesmoBairro;

    @OneToMany
    @JoinColumn(name="CodNovidade")
    private List<ComentarioNovidade> comentariosNovidade;

ComentarioNovidade 类:

@Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="CodComentarioNovidade")
    private Integer codComentarioNovidade;

    @Column(name="Comentario")
    private String comentario;

    @ManyToOne
    @JoinColumn(name="CodNovidade")
    private Novidade novidade;

    @ManyToOne
    @JoinColumn(name="CodUsuario")
    private Usuario usuario;

I could not make a better title, if anyone can do it please, help me out! Same for tags.

I've made a JPQL to bring me one Object with a List of other Objects.

The thing that's happening is.

I've got 2 items in Novidade(DB).

I've got 2 items in ComentarioNovidade(DB).

1 of the items from Novidade, connects to all 2 items from ComentarioNovidade. The other has no ComentarioNovidade related.

JPQL returns a List of Novidade (it's supposed to be)

I'm trying to make it return one Novidade with all ComentarioNovidade in it if it has any.

It's returning 3 Objects containing Novidade and ComentarioNovidade separated.
ComentarioNovidade

My JPQL is like this:

from Novidade as n left outer join n.comentariosNovidade

The class Novidade:

@Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="CodNovidade")
    private Integer codNovidade;

    @Column(name="Mensagem")
    private String mensagem;

    @Column(name="CodigoCidade")
    private int codCidade;

    @Column(name="CodigoBairro")
    private int codBairro;

    @Column(name="MesmoBairro")
    private String mesmoBairro;

    @OneToMany
    @JoinColumn(name="CodNovidade")
    private List<ComentarioNovidade> comentariosNovidade;

The class ComentarioNovidade:

@Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="CodComentarioNovidade")
    private Integer codComentarioNovidade;

    @Column(name="Comentario")
    private String comentario;

    @ManyToOne
    @JoinColumn(name="CodNovidade")
    private Novidade novidade;

    @ManyToOne
    @JoinColumn(name="CodUsuario")
    private Usuario usuario;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情归归情 2024-11-10 15:07:04

一位朋友帮我解决了这个问题。

我的 JPQL 最终是这样的:

select distinct n from Novidade as n left outer join fetch n.comentariosNovidade

A friend helped me out with that.

My JPQL ended up like this:

select distinct n from Novidade as n left outer join fetch n.comentariosNovidade
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文