左连接带来 2 个不同的对象
我无法制作一个更好的标题,如果有人能做到,请帮助我!标签也是如此。
我已经创建了一个 JPQL 来为我带来一个对象以及其他对象的列表。
正在发生的事情是。
我在 Novidade(DB) 中有 2 个项目。
我在 ComentarioNovidade(DB) 中有 2 个项目。
Novidade 中的 1 个项目连接到 ComentarioNovidade 中的所有 2 个项目。另一个没有与CommentarioNovidade相关。
JPQL 返回一个 Novidade 列表(应该是)
我试图让它返回一个 Novidade,其中包含所有 ComentarioNovidade(如果有的话)。
它返回 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;
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.
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一位朋友帮我解决了这个问题。
我的 JPQL 最终是这样的:
A friend helped me out with that.
My JPQL ended up like this: