2017-07-25 56 views
0

已經陷入困境並思考 - 需要幫助。
假設我有一個類Message,這是一個論壇的孩子。它們在註釋中具有一對多關係。事情是這樣的:如何通過它的id與Hibernate添加屬性類?

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

而且使用它,每當我保存/更新。但我有一種非常強烈的感覺,我做錯了。

簡單的指導,在哪個方向尋找答案,將是一個很大的幫助。
預先感謝您!

+1

https://stackoverflow.com/a/32037084/4754790 –

+0

好的建議和一個更多的解決方案。就我而言,我使用德語的命題,因爲它首先出現。但是,謝謝。 –

回答

1

在hibernate中,如果對象已經存在,則不需要獲取該對象。只需用id創建一個新的論壇(你應該已經擁有它)。 例子:

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

messageRepository.save(message); 

休眠應該OK保存。

+0

是的,都很好。必須說 - 我對這個功能印象非常深刻。萬分感謝! –