再使用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方法上怪别扭的。
认证0级讲师