【问题标题】:Java Hibernate mapping exceptionJava Hibernate 映射异常
【发布时间】:2021-06-02 09:09:43
【问题描述】:

场景如下:我正在实现一个购物车,客户可以使用 Hibernate 从产品目录中选择产品。

我得到了这个异常,但我不知道我做错了什么。

线程“主”java.lang.ExceptionInInitializerError 中的异常, 引起:org.hibernate.AnnotationException:com.OrderManagementMaven.bo.ShoppingcartItem.customer 上的 @OneToOne 或 @ManyToOne 引用了未知实体:com.OrderManagementMaven.bo.Customer

在 org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:100) 在 org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processEndOfQueue(InFlightMetadataCollectorImpl.java:1823) 在 org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processFkSecondPassesInOrder(InFlightMetadataCollectorImpl.java:1767) 在 org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1655) 在 org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:295) 在 org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:86) 在 org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:479) 在 org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:85) 在 com.OrderManagementMaven.HibernateUtil.(HibernateUtil.java:15)

这是我的代码:

@Entity
@Table(name = "SHOPPINGCART_ITEM")  
public class ShoppingcartItem {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private long itemId;
    
    @ManyToOne
    @JoinColumn(name="PRODUCTID")
    private Product product;
    
    @ManyToOne
    @JoinColumn(name="CUSTOMERID")
    private Customer customer;
    
    private int amount;
    //...
}
@Entity
@Table(name = "PRODUCTCATALOG")  
public class Product {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private long id;
    private double price;
    private String
    //...
}
@Entity  
@Table(name = "CUSTOMER")  
public class Customer{
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private long id;
    @Column(name="CUSTOMERFIRSTNAME")
    private String firstname;
    @Column(name="CUSTOMERLASTNAME")
    private String lastname;
    //...
}

我认为错误不在注释中,因为我更改了几次,仍然出现相同的异常。

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    鉴于错误消息,可能是客户实体未包含在扫描包中的情况,例如指定的在@EntityScan 注释中?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 2018-02-24
    • 2020-04-01
    • 2012-05-20
    • 1970-01-01
    • 2011-05-18
    相关资源
    最近更新 更多