簡體   English   中英

如何創建有效的一對多關系

[英]How to create a working one to many relationship

對於我的 Spring Boot 應用程序,我在數據庫中有兩個表在此處輸入圖像描述 在此處輸入圖像描述 我的問題是我無法使這種一對多關系有效。 這是我的 Group 和 GroupType 類代碼:


@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Getter
@Setter
@Table(name = "GROUPTYPE")
public class GroupType {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int groupTypeId;
    private String fullName;
    private boolean active;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "GroupTypeId")
    private Group group;

}

@Data
@NoArgsConstructor
@Entity
@Getter
@Setter
@Table(name = "GROUP")
public class Group {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int groupId;

    private String fullName;

    private boolean active;

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "group")
    private List<GroupType> groupTypes;

}

我收到這種類型的錯誤:


org.hibernate.exception.SQLGrammarException: could not extract ResultSet....
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'GROUP'.

我看了一些視頻,但我仍然找不到解決方案

我相信GROUP是 MySql 和 PostgreSql 中的保留關鍵字,因此您需要將表命名為其他名稱:

@Table(name = "GROUP") // <- name to something else
public class Group {

    // ...
}

參考MySql Keywords and Reserved WordsPostgreSql Key Words

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM