2017-07-25 8 views
0

ちょっと立ち往生したと思います。
Forumの子であるMessageというクラスがあるとします。アノテーションには1対多の関係があります。このような何か:HibernateのIDでプロパティクラスを追加するには?

@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つの解決策。私の場合は、最初に登場したのでドイツ語の命題を使用しました。でもありがとう。 –

答えて

1

hibernateでは、オブジェクトがすでに存在する場合はフェッチする必要はありません。 IDを持つ新しいフォーラムを作成してください(既に持っているはずです)。 例:

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

messageRepository.save(message); 

Hibernateで保存しても問題ありません。

+0

うん、すべていいよ。言わなければならない - 私はこの機能に非常に感銘を受けている。大いに感謝する! –

関連する問題