Closed. This question needs details or clarity。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                
                    2年前关闭。
            
        

    

卡住了一下,想一想-需要帮助。
假设我有一个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检索Forum对象,将其附加到消息中然后仅保存消息。
因此,我开始创建一个包装器,如下所示:

public class MessageDto {

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


并在我每次保存/更新时使用它。但是我有很强烈的感觉,我做错了。

简单的指导,即寻找答案的方向,将对您有很大的帮助。
先感谢您!

最佳答案

在休眠状态下,如果对象已经存在,则无需获取它。只需使用ID创建一个新论坛(您应该已经拥有了)。
例:

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

messageRepository.save(message);


Hibernate应该可以保存它。

09-11 18:43
查看更多