Hibernate多表联查报错Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne

报错:


Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.hibernate.entity.CommodityEntity.sid references an unknown entity: int
	at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:109)
	at org.hibernate.cfg.Configuration.processEndOfQueue(Configuration.java:1598)
	at org.hibernate.cfg.Configuration.processFkSecondPassInOrder(Configuration.java:1521)
	at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1422)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1846)
	at com.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:19)
	... 23 more

网上大多数都是说
原因有二:

(1) 被引用的类的class上没添@Entity注解

(2)没有添sessionFactory的annotatedClasses属性列表中去或者是配置文件中没有添加
Mapping-class

我报错都不是因为这两个原因,而是在我的实体类中,我的主外键的类型写错,在多对一中,外键的类型必须是外键的实体类类型
比如:
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
注意:修改后的get/set也需要重新生成

虽然我老是犯这种低级错误,但不会写bug的程序员不是好程序员哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值