org.hibernate.HibernateException: Error applying BeanValidation relational constraints

1、错误描述

%%%% Error Creating SessionFactory %%%%
org.hibernate.HibernateException: Error applying BeanValidation relational constraints
	at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:219)
	at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:126)
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:306)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1744)
	at com.you.hibernate.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:34)
	at com.you.hibernate.dao.StudentDao.getStuInfo(StudentDao.java:45)
	at com.you.hibernate.dao.StudentDao.main(StudentDao.java:67)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:208)
	... 6 more
Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:524)
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:119)
	... 11 more
Caused by: javax.validation.ValidationException: Unable to instantiate Configuration.
	at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:272)
	at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:521)
	... 12 more
Caused by: java.lang.NullPointerException
	at java.util.ResourceBundle.getBundle(ResourceBundle.java:1026)
	at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.loadBundle(ResourceBundleMessageInterpolator.java:202)
	at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.getFileBasedResourceBundle(ResourceBundleMessageInterpolator.java:182)
	at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:81)
	at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:73)
	at org.hibernate.validator.engine.ConfigurationImpl.<init>(ConfigurationImpl.java:57)
	at org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:43)
	at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:269)
	... 14 more
二月 20, 2017 5:25:03 下午 org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
二月 20, 2017 5:25:03 下午 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
二月 20, 2017 5:25:03 下午 org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: com/you/hibernate/model/TScoreInfo.hbm.xml
二月 20, 2017 5:25:03 下午 org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: com/you/hibernate/model/TStudentInfo.hbm.xml
二月 20, 2017 5:25:03 下午 org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
二月 20, 2017 5:25:03 下午 org.hibernate.cfg.Configuration$MappingsImpl addImport
INFO: HHH000071: Duplicate import: com.you.hibernate.model.TScoreInfo -> com.you.hibernate.model.TScoreInfo
二月 20, 2017 5:25:03 下午 org.hibernate.cfg.Configuration$MappingsImpl addImport
INFO: HHH000071: Duplicate import: com.you.hibernate.model.TScoreInfo -> TScoreInfo
%%%% Error Creating SessionFactory %%%%
org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/you/hibernate/model/TScoreInfo.hbm.xml
	at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXml(Configuration.java:3409)
	at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXmlQueue(Configuration.java:3398)
	at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3386)
	at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1341)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1731)
	at com.you.hibernate.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:73)
	at com.you.hibernate.HibernateSessionFactory.getSession(HibernateSessionFactory.java:55)
	at com.you.hibernate.dao.StudentDao.getStuInfo(StudentDao.java:45)
	at com.you.hibernate.dao.StudentDao.main(StudentDao.java:67)
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.you.hibernate.model.TScoreInfo
	at org.hibernate.cfg.Configuration$MappingsImpl.addClass(Configuration.java:2574)
	at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:172)
	at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXml(Configuration.java:3406)
	... 8 more
Exception in thread "main" java.lang.NullPointerException
	at com.you.hibernate.dao.StudentDao.getStuInfo(StudentDao.java:46)
	at com.you.hibernate.dao.StudentDao.main(StudentDao.java:67)

2、错误原因

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

	<session-factory>
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
		</property>
		<property name="connection.url">
			jdbc:mysql://127.0.0.1:3306/student
		</property>
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>
		<property name="connection.driver_class">
			com.mysql.jdbc.Driver
		</property>
		<property name="myeclipse.connection.profile">
			Hibernatemysql
		</property>
		
		<mapping resource="com/you/hibernate/model/TScoreInfo.hbm.xml" />
		<mapping resource="com/you/hibernate/model/TStudentInfo.hbm.xml" />

	</session-factory>

</hibernate-configuration>

3、解决办法

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

	<session-factory>
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
		</property>
		<property name="connection.url">
			jdbc:mysql://127.0.0.1:3306/student
		</property>
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>
		<property name="connection.driver_class">
			com.mysql.jdbc.Driver
		</property>
		<property name="myeclipse.connection.profile">
			Hibernatemysql
		</property>
		<property name="javax.persistence.validation.mode">none</property>
		<mapping resource="com/you/hibernate/model/TScoreInfo.hbm.xml" />
		<mapping resource="com/you/hibernate/model/TStudentInfo.hbm.xml" />

	</session-factory>

</hibernate-configuration>
       添加一句:<property name="javax.persistence.validation.mode">none</property>

原文地址:https://www.cnblogs.com/hzcya1995/p/13313942.html