簡體   English   中英

org.hibernate.MappingException:無法確定類型:在表中:列:[org.hibernate.mapping.Column(賣家)]

[英]org.hibernate.MappingException: Could not determine type for: at table: for columns: [org.hibernate.mapping.Column(seller)]

我試圖在其他問題中找到解決方案,但對我沒有幫助。

這是一個小程序,有一些類。 我的問題出在 Product.class 和 User.class 之間的關系中。 但我不知道如何解決。 我收到此錯誤:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not determine type for: com.chana.beans.User, at table: shipment, for columns: [org.hibernate.mapping.Column(seller)]

這是代碼:產品 class:

@Entity
@Table(name= "products")
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    @Column
    private String title;
    private String description;
    @ManyToOne
    @JoinColumn(name="category_id")
    private Category category;
    private double price;
    @ManyToOne(targetEntity = User.class,  
            cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @Access(AccessType.PROPERTY)
    @JoinColumn(name="seller_id")
    private User seller;
    private String size;
    private String color;
    private String material;
    private int amount;

//getter and setter...

用戶class:

@Data
@NoArgsConstructor
@Builder
@AllArgsConstructor
@Setter
@Getter
@Entity
@Table(name= "users")
public class User {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private long id;
    @Column(name="first_name")
    private String firstName;
    @Column(name="last_name")
    private String lastName;
    private String Address;
    private String City;
    private String email;
    @Column(name="user_name")
    private String userName;
    private String password;
    @ElementCollection
    private List<Product> products;
    

錯誤的原因是什么,如何解決?

正如您可以在內部錯誤中看到的那樣,您沒有 map 關系的所有結束。

“無法確定類型:com.chana.beans.User,表:發貨,列:[org.hibernate.mapping.Column(賣家)]”

此錯誤表明您在 User 和 Shipments 實體之間沒有正確的關系映射。

順便說一句:您似乎沒有正確使用@ElementCollection - 此注釋用於嵌入文檔而不是實體,請使用@OneToMany。

使用@Data,您不需要@Getter 和@Setter——它是@Getter、@Setter、@EqualsAndHashcode 和@RequiredArgsConstructor 的快捷方式。

暫無
暫無

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

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