坚持了一下并想 - 需要帮助 假设我有一个类Message,这是一个论坛的孩子。它们在注释中具有一对多关系。像这样:
@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;
}
每当我保存/更新时使用它。但我有一种强烈的感觉,我做错了。
简单的指导,寻找答案的方向,将是一个很大的帮助 提前谢谢!
答案 0 :(得分:1)
在休眠状态下,如果对象已经存在,则不需要获取该对象。只需使用id创建一个新论坛(您应该已经拥有它)。 例如:
Message message = new Message();
...
...
Forum forum = new Forum();
forum.setId(yourId);
message.setForum(forum);
messageRepository.save(message);
Hibernate应该保存好。