gpt4 book ai didi

java - 如何使用 Hibernate 通过 id 添加属性类?

转载 作者:行者123 更新时间:2023-12-02 12:30:07 25 4
gpt4 key购买 nike

卡住了一点并思考 - 需要帮助。
假设我有一个 Message 类,它是一个 Forum 的子类。它们在注释中具有一对多关系。像这样的事情:

@Entity
@Table(name="message", catalog="catalog")
public class Message implements Serializable {
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name="IDMessage", unique = true)
private int idMessage;

@Column(name="Title", columnDefinition="TEXT")
private String title;

@Column(name="Message", columnDefinition="TEXT")
private String message;

@ManyToOne
@JoinColumn(name="IDForum")
private Forum forum;
}

问题:

我不想通过 ID 检索论坛对象,将其附加到消息,然后才保存消息。所以我开始创建一个包装器,如下所示:

public class MessageDto {

private int idMessage;
private String title;
private String message;
private int idForum;
}

每当我保存/更新时都使用它。但我有一种强烈的感觉,我做错了。

简单的引导,向哪个方向寻找答案,将会有很大的帮助。
预先感谢您!

最佳答案

在 hibernate 中,如果对象已经存在,则无需获取该对象。只需使用 id 创建一个新论坛(您应该已经拥有它)。示例:

Message message = new Message();
...
...
Forum forum = new Forum();
forum.setId(yourId);
message.setForum(forum);

messageRepository.save(message);

Hibernate 应该可以保存它。

关于java - 如何使用 Hibernate 通过 id 添加属性类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45313349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com