[英]org.hibernate.MappingException: Could not determine type for: at table: for columns: [org.hibernate.mapping.Column(plant)
[英]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.