org.hibernate.MappingException: Could not determine type for: String, at table: labuser, for columns: [org.hibernate.mapping.Column(userid)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:307)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:261)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
at com.guet.orm.dao.AnimalDao.insertAnimals(AnimalDao.java:33)
at com.guet.orm.test.HibernateDaoTest.insertTiger(HibernateDaoTest.java:43)
at com.guet.orm.test.HibernateDaoTest.main(HibernateDaoTest.java:29)
根据错误提示找到对应的配置文件,最终发现错误根源在
<discriminator column="userid"
type="String"/>。
"String"是java的数据类型,Hibernate中对应的数据类型是"string",
在书写hibernate的配置文件时,要么使用"string",要么使用"java.lang.String"。