【hibernate】一对多(客户与订单双向关联)遇到的异常

本文探讨了Hibernate在初始化过程中常见的配置与映射错误,包括未正确加载配置文件导致的问题及映射文件中包名错误引发的异常。通过具体实例展示了如何定位并解决这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)报错原因:创建Configuration对象没有调用configure()方法,意味着没有加载hibernante.cfg.xml映射文件。
解决办法:创建Configuration对象的同时,要记得调用configure()方法. 例如:Configuration config = new Configuration().configure();

java.lang.ExceptionInInitializerError
at cn.lsh.web.hibernate.dao.CustomerDao.addCustomer(CustomerDao.java:17)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)


Caused by: org.hibernate.HibernateException: 'hibernate.dialect' must be set when no Connection available

at org.hibernate.dialect.resolver.DialectFactory.buildDialect(DialectFactory.java:107)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:142)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2163)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2159)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1383)
at cn.lsh.web.hibernate.utils.HibernateUtils.<clinit>(HibernateUtils.java:12)
... 25 more

2)报错原因:hibernante.cfg.xml(包名写错了)。
解决办法:更正包名路径.
java.lang.ExceptionInInitializerError
at cn.lsh.web.hibernate.dao.CustomerDao.addCustomer(CustomerDao.java:17)

Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource cn/lsh/web/hibernate/domain/orders.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:671)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1679)
... 25 more
Caused by: org.hibernate.MappingException: class cn.lsh.web.hibernate.Orders.Orders not found while looking for property: customer
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:232)
... 32 more
Caused by: java.lang.ClassNotFoundException: cn.lsh.web.hibernate.Orders.Orders
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
... 42 more

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值