0
我试图在互联网上找到休眠设置映射示例,而我在运行我的HibernateUtil Java类时遇到以下问题。但是,编译类和pojo文件时不会遇到任何问题。Hibernate映射异常在线程“主要”java.lang.ExceptionInInitializerError由无效映射在配置
Jul 12, 2017 8:42:02 PM
org.hibernate.annotations.common.reflection.java.JavaReflectionManager<clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
Jul 12, 2017 8:42:02 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.1.Final}
Jul 12, 2017 8:42:02 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Jul 12, 2017 8:42:02 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Jul 12, 2017 8:42:02 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
Jul 12, 2017 8:42:02 PM org.hibernate.cfg.ConfigurationgetConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
Jul 12, 2017 8:42:02 PM org.hibernate.internal.util.xml.DTDEntityResolverresolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
Jul 12, 2017 8:42:02 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: PoJo/Employee.hbm.xml
Jul 12, 2017 8:42:02 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: PoJo/Certificates.hbm.xml
Jul 12, 2017 8:42:02 PM org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
Jul 12, 2017 8:42:03 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderI pl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Jul 12, 2017 8:42:03 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderI pl buildCreator
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/empl]
Jul 12, 2017 8:42:03 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****}
Jul 12, 2017 8:42:03 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
Jul 12, 2017 8:42:03 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
Jul 12, 2017 8:42:03 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Could not parse mapping document from resource PoJo/Employee.hbm.xml
Exception in thread "main" java.lang.ExceptionInInitializerError
at HibSetMap.main(HibSetMap.java:27)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource PoJo/Employee.hbm.xml
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXml(Configuration.java:3764)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXmlQueue(Configuration.java:3753)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3741)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
at HibSetMap.main(HibSetMap.java:23)
Caused by: org.hibernate.MappingException: column attribute may not be used together with <column> subelement
at org.hibernate.cfg.HbmBinder.bindColumns(HbmBinder.java:1117)
at org.hibernate.cfg.HbmBinder.bindColumnsOrFormula(HbmBinder.java:1627)
at org.hibernate.cfg.HbmBinder.bindSimpleValue(HbmBinder.java:1193)
at org.hibernate.cfg.HbmBinder.bindSimpleId(HbmBinder.java:443)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:386)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:326)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:177)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXml(Configuration.java:3761)
... 6 more
这里是我的employee.hbm.xml
<hibernate-mapping>
<class name="PoJo.Employee" table="employee" catalog="empl" optimistic-lock="version">
<meta attribute="class-discription">
This class contains the employee details.
</meta>
<id name="id" type="int" column="id">
<column name="id" />
<generator class="native" />
</id>
<set name="certificates" cascade="all">
<key column="employeeId"/>
<one-to-many class="Certificates"/>
</set>
<property name="fname" type="string" column="fname">
<column name="fname" length="20" />
</property>
<property name="lname" type="string" column="lname">
<column name="lname" length="20" />
</property>
<property name="salary" type="int" column= "salary">
<column name="salary" />
</property>
</class>
</hibernate-mapping>
而且,这里的代码中,我得到的问题
public class HibSetMap {
private static SessionFactory sessionFactory;
public static void main(String[] args) {
try {
// Create the SessionFactory from standard (hibernate.cfg.xml)
// config file.
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
部分请帮帮我!!
不,不是所有的我只是想删除一个员工ID – Cyrus
我在说你的employee.hbm.xml尝试删除column =“fname”等 – Bartun