第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

表中的列由多個(gè)物理列名引用

表中的列由多個(gè)物理列名引用

猛跑小豬 2023-06-21 16:40:47
我有一個(gè)使用 JPA 的 Spring Boot 項(xiàng)目,所以我嘗試使用它們的 Id 將兩個(gè)表映射到第三個(gè)表:例如,我有一個(gè)優(yōu)惠券類,我有一個(gè)客戶類,我想將客戶 id 和優(yōu)惠券 id 放入第三個(gè)表桌子。我有優(yōu)惠券:@Entity@Table(name = "coupons")public class Coupon {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private long coup_id;    private String title;    private String start;    private String end;     private int amount;     private String type;    private String message;     private double price;    private String image;    @ManyToMany(mappedBy = "coupons")    private List<Customer> customers;我有客戶:@Entity@Table(name="customers")public class Customer {    @Id    @GeneratedValue(strategy=GenerationType.IDENTITY)    private int cust_id;    @Size(min=1,message="is required")    private String cust_name;    @Size(min = 1, message = "is required")    private String password;     @ManyToMany(cascade = { CascadeType.ALL })        @JoinTable(            name = "customer_coupon",             joinColumns = { @JoinColumn(name = "cust_id") },             inverseJoinColumns = { @JoinColumn(name = "coup_id") }        )    private List<Coupon> coupons;我有連接表 customer_coupon:這是我在啟動(dòng)項(xiàng)目時(shí)遇到的錯(cuò)誤:Caused by: org.hibernate.DuplicateMappingException: Table [coupons] contains physical column name [coup_id] referred to by multiple physical column names: [coupId], [coup_id]我不知道它來自哪里,如果有人能幫助我,我會(huì)很高興!
查看完整描述

5 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

要消除歧義,請(qǐng)使用@Column注釋:

@Column(name = "coup_id")
private long coupId;

通過這種方式,您可以隨意命名 Java 屬性,而不用讓 JPA 單獨(dú)解釋它們。


查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊

發(fā)現(xiàn)問題了...抱歉。


還有另一個(gè)類Company也指的是coupId:


     @OneToMany(

            cascade = CascadeType.ALL,

            orphanRemoval = true

        )

 @JoinColumn(name = "coupId")

private List<Coupon> coupons = new ArrayList();

這是來自Company班級(jí)的。


查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

我有同樣的問題。

@Column(name = "coup_id") private long coupId;

和數(shù)據(jù)庫(kù)表中名為 的列coup_id。

我刪除了@Column注釋,然后開始工作!就這樣。

Hibernate 將 xX 轉(zhuǎn)換為 x_x 本身。


查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

我遇到此問題的另一種情況是由于區(qū)分大小寫。我在兩個(gè)類中提到了列名稱 ownerid 和 ownerId。根據(jù)錯(cuò)誤:表 [] 包含引用多個(gè)物理列名稱 [ownerid] 和 [owner_id] 的邏輯列名稱 [ownerid]。我最終花了很多時(shí)間搜索 owner_id。



查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊

我有連接表,它也是實(shí)體并且與兩個(gè)表有 ManyToOne 關(guān)系,所以這不完全是這個(gè)問題,但可以幫助某人。

@MapsId(屬性名稱添加)@ManyToOne屬性對(duì)我有用。


查看完整回答
反對(duì) 回復(fù) 2023-06-21
  • 5 回答
  • 0 關(guān)注
  • 261 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)