亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javax 父子關系的持久化。最后一個孩子又是另一個孩子的父母

javax 父子關系的持久化。最后一個孩子又是另一個孩子的父母

蠱毒傳說 2022-07-20 16:01:41
我的情況是:帶有子消息的實體父 MainSpeech。消息又是實體附件的父級。我嘗試通過添加具有兩個新附件的新按摩來保留/合并現有的 MainSpeech。持久化/合并失敗,因為 ID_MESSAGE 為空。ID_MESSAGE 是連接 Messages with Attachment 的外鍵。//Entity MainSpeech@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,mappedBy="mainSpeech")public List<Messages> getMessages() {    return messages;}public void setMessages(List<Messages> messages) {    this.messages = messages;}//Entity Messages@ManyToOne(fetch=FetchType.LAZY)@JoinColumn(name="ID_MAINSPEECH",nullable=false)public MainSpeech getMainSpeech() {    return mainSpeech;}public void setMainSpeech(MainSpeech mainSpeech) {    this.mainSpeech = mainSpeech;}@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,mappedBy="messages")public List<Attachments> getAttachments() {    return attachments;}public void setAttachments(List<Attachments> attachments) {    this.attachments = attachments;}//Entity Attachments    @ManyToOne(fetch=FetchType.LAZY)@JoinColumn(name="ID_MESSAGE",nullable=false)public Messages getMessages() {    return messages;}public void setMessages(Messages messages) {    this.messages = messages;}
查看完整描述

2 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

你甚至不需要這條線:

entityManager.persist(messaggio);

這是因為您已經在此處添加了關聯:

conversazione.getMessaggi().add(messaggio);

然后用entityManager.merge(conversazione);. 同樣在你擁有的每一個一對多的關系中cascade=CascadeType.ALL,孩子都是堅持的。

您所做的是插入一個對象,該對象已經在 db.xml 中。


查看完整回答
反對 回復 2022-07-20
?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

對于我的代碼的普遍興趣,缺乏。我忘記了鞏固父子關系的代碼行:

allegato.setMessaggi(messaggio);


查看完整回答
反對 回復 2022-07-20
  • 2 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號