jpa ManyToOne 绑定问题

再使用jpa的时候,Product对象引用了一个Shop对象,两者的关系是多对一的关系。
于是使用下面代码:

@Entity
@Table(name = "shop")
public class Shop {
    @Id
    private Long id;
    
    private String name;
    
    // 省略get set

}


@Entity
@Table(name = "product")
public class Product{
    @Id
    private Long id;
    
    private String name;
    
    @ManyToOne
    @JoinColumn(name = "shop_id")
    private Shop shop;
    
    // 省略get set
}

启动程序报下面错误:

org.hibernate.MappingException: Could not determine type for: com.xxx.xxx.shop.Shop, at table: product, for columns: [org.hibernate.mapping.Column(shop)]

当吧@ManyToOne@JoinColumn(name = "shop_id")加到getShop方法时,又正常了。不报错了。

    @ManyToOne
    @JoinColumn(name = "shop_id")
    public Shop getShop() {
        return shop;
    }

有没有哪位大神知道是为什么呢?有没有办法吧注解加到熟悉上不报错的方法呢?感觉放在get方法上怪别扭的。

查看回复