【问题标题】:Left join bringing 2 different objects左连接带来 2 个不同的对象
【发布时间】:2011-08-13 21:30:40
【问题描述】:

我无法做出更好的标题,如果有人能做到,请帮助我!标签也一样。

我已经制作了一个 JPQL 来为我带来一个带有其他对象列表的对象。

正在发生的事情是。

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

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

Novidade 中的 1 个项目,连接到来自 ComentarioNovidade 的所有 2 个项目。另一个与CommentarioNovidade 无关。

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

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

它返回 3 个包含分离的 Novidade 和 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;

CommentarioNovidade 类:

@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;

【问题讨论】:

    标签: java sql hibernate jpa jpql


    【解决方案1】:

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

    我的 JPQL 最终是这样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 2014-08-16
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      相关资源
      最近更新 更多