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

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

Hibernate單向與MySQL DB中的一對一映射?

Hibernate單向與MySQL DB中的一對一映射?

智慧大石 2021-10-13 16:32:26
我是 Hibernate 和 MySQL 的新手,我有兩個表,如OFFER_TABLE和OFFER_LIKES_DISLIKESOFFER_TABLE 列OFR_ID(PK)OFR_MSGOFFER_LIKES_DISLIKES 列OFFER_LIKES_DISLIKES_IDOFR_ID(FK)LIKEDISLIKE我想映射OFFER_TABLE和OFFER_LIKES_DISLIKES,通過OFFER_TABLE訪問OFFER_LIKES_DISLIKES數據。我正在使用一對一映射,但它不起作用。Hibernate注解映射Java類優惠.class@Id@GeneratedValue@Column(name = "OFR_ID", length = 11, nullable = false)private int offer_id;@OneToOne@JoinColumn(name="OFR_ID", unique = true)@OneToOne(cascade = CascadeType.ALL)private MessageLikeDislikesDAO likeDislikes;喜歡不喜歡.class@GeneratedValue@Column(name="LIKES_DISLIKES_ID", length = 11, nullable = false)private int likes_dislikes_id;@Expose@Column(name="OFR_ID", length = 11, nullable = false)private int offer_id;當我獲得優惠數據時,想要與之關聯的“喜歡”和“不喜歡”數據。在 LikeDislike 表中,OFR_ID 是唯一的。我使用一對一。但是我沒有得到 LikeDislike 的數據。哪一種是獲取該數據的最佳方式。幫我解決這個問題。
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

有很多問題:

  1. 您正在創建與 DAO 的關聯,而不是創建與實體的關聯

  2. 您將商品的 ID 存儲在 LikeDislike 實體中,而不是存儲與商品實體的關聯

  3. 您是說在 OFFER 表中有一個名為OFR_ID并引用 LikeDislike 實體的連接列。

  4. 你不尊重 Java 命名約定

  5. 您正在同一字段上設置兩個 OneToOne 注釋

映射應該是:

提供:


@Id

@GeneratedValue

@Column(name = "OFR_ID", length = 11, nullable = false)

private Integer offerId;


@OneToOne(mappedBy = "offer", cascade = CascadeType.ALL)

private LikeDislike likeDislike;

喜歡不喜歡:


@GeneratedValue

@Column(name="LIKES_DISLIKES_ID", length = 11, nullable = false)

private Integer likeDislikeId;


@Expose

@OneToOne

@JoinColumn(name="OFR_ID", length = 11, nullable = false)

private Offer offer;


查看完整回答
反對 回復 2021-10-13
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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