SpringBoot 遇到 No identifier specified for entity


No identifier specified for entity 從字面上不難看出來是沒有設置主鍵

因為沒有為標注為@Entity的實體類注明主鍵

import lombok.Data;
import org.springframework.data.annotation.Id;

import javax.persistence.*;

@Data
@Table(name = "user")
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @Column
    private String username;
    @Column
    private String name;
    @Column
    private Integer age;
}

 

但實際上bean用@Id和@GenerateValue標注在ID上,仔細觀察發現是導錯包:import org.springframework.data.annotation.Id;這是Spring提供的;而應該導入javax.persistence.Id,很細微的差別,可能不注意看就錯了而且很難去排查問題

區別在於:org.springframework.data.annotation.Id是spring用來支持MongoDB等非關系型數據庫的持久化(spring-data-mongodb等);javax.persistence.Id適用於關系型的數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM