Estou tentando executar o aplicativo de hibernação, mas ocorre uma exceção .. aqui está meu código .. quaisquer sugestões .. obrigado antecipadamente
hibernate.cfg.xml
:
<?xml version='1.0' encoding='utf-8'?>
<hibernate-configuration>
<session-factory>
<!-- Related to the connection START -->
<property name="connection.driver_class">com.mysql.jdbc.Driver </property>
<property name="connection.url">jdbc:mysql://localhost:3306/mydb </property>
<property name="connection.user">root </property>
<property name="connection.password">root</property>
<!-- Related to the connection END -->
<!-- Related to hibernate properties START -->
<property name="show_sql">true</property>
<property name="dialet">org.hibernate.dialect.MYSQLDialect</property>
<property name="hbm2ddl.auto">create</property>
<!-- Related to hibernate properties END-->
<!-- Related to mapping START-->
<mapping resource="user.hbm.xml" />
<!-- Related to the mapping END -->
</session-factory>
</hibernate-configuration>
user.hbm.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping>
<class name="DataProvider" table="user_info">
<id name="user_id" column="id">
<genereator class="assigned" />
</id>
<property name="vuser_name" column="name"/>
<property name="user_address" column="address"/>
</class>
</hibernate-mapping>
DataProvider.java
:
public class DataProvider {
private int user_id;
private String user_name;
private String user_address;
public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id) {
this.user_id = user_id;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getUser_address() {
return user_address;
}
public void setUser_address(String user_address) {
this.user_address = user_address;
}
}
DataInsertion.java
:
public class DataInsertion {
public static void main(String[] args) {
new DataInsertion().insertInfo();
}
public void insertInfo(){
Configuration con = new Configuration();
con.configure("hibernate.cfg.xml");
SessionFactory sf = con.buildSessionFactory();
Session session = sf.openSession();
DataProvider provider = new DataProvider();
provider.setUser_id(121);
provider.setUser_name("name");
provider.setUser_address("adress");
Transaction tr = (Transaction) session.beginTransaction();
session.save(provider);
System.out.println("Object Saved");
try {
tr.commit();
} catch (SecurityException | HeuristicMixedException | HeuristicRollbackException | RollbackException
| SystemException e) {
e.printStackTrace();
}
session.close();
sf.close();
}
}
e a exceção é
20 de março de 2016 12:49:01 org.hibernate.annotations.common.reflection.java.JavaReflectionManager INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final} 20 de março de 2016 12:49:01 org.hibernate .boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity WARN: HHH90000012: Namespace de hibernação obsoleto reconhecido http://hibernate.sourceforge.net/hibernate-mapping . Use o namespace http://www.hibernate.org/dtd/hibernate-mappingem vez de. O suporte para namespaces DTD / XSD obsoletos pode ser removido a qualquer momento. Exceção no thread "main" org.hibernate.boot.InvalidMappingException: Não foi possível analisar o documento de mapeamento: user.hbm.xml (RESOURCE) em org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind (InputStreamXmlSource.java:46) em org.hibernate.boot.jaxb.internal.UrlXmlSource.doBind (UrlXmlSource.java:36) em org.hibernate.boot.spi.XmlMappingBinderAccess.bind (XmlMappingBinderAccess.java:59) em org.hibernate.boot.MetadataSource.add MetadataSources.java:274) em org.hibernate.boot.cfgxml.spi.MappingReference.apply (MappingReference.java:70) em org.hibernate.boot.internal.MetadataBuilderImpl.build (MetadataBuilderImpl.java:413) em org.hibernate .boot.internal.MetadataBuilderImpl.build (MetadataBuilderImpl.java:87) em org.hibernate.cfg.Configuration. buildSessionFactory (Configuration.java:692) em org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:724) em DataInsertion.insertInfo (DataInsertion.java:22) em DataInsertion.main (DataInsertion.java:15) Causado por: org.hibernate.boot.MappingException: Incapaz de realizar o desempacotamento na linha número 9 e coluna 32. Mensagem: cvc-complex-type.2.4.a: Conteúdo inválido foi encontrado começando com o elemento 'genereator'. Um de '{" genereator '. Um de '{" genereator '. Um de '{"http://www.hibernate.org/xsd/orm/hbm ": meta," http://www.hibernate.org/xsd/orm/hbm ": coluna," http://www.hibernate.org/ xsd / orm / hbm ": digite," http://www.hibernate.org/xsd/orm/hbm": generator} 'é esperado.: origin (user.hbm.xml) em org.hibernate.boot.jaxb.internal.AbstractBinder.jaxb (AbstractBinder.java:177) em org.hibernate.boot.jaxb.internal.MappingBinder .doBind (MappingBinder.java:61) em org.hibernate.boot.jaxb.internal.AbstractBinder.doBind (AbstractBinder.java:102) em org.hibernate.boot.jaxb.internal.AbstractBinder.bind (AbstractBinder.java:57 ) em org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind (InputStreamXmlSource.java:43) ... mais 10 Causado por: javax.xml.bind.UnmarshalException - com exceção vinculada: [org.xml.sax.SAXParseException ; lineNumber: 9; columnNumber: 32; cvc-complex-type.2.4.a: Conteúdo inválido foi encontrado começando com o elemento 'genereator'. Um dos '{" http://www.hibernate.org/xsd/orm/hbm ": meta," http: //www.hibernate.org / xsd / orm / hbm": coluna," http://www.hibernate.org/xsd/orm/hbm ": digite," http://www.hibernate.org/xsd/orm/hbm ": generator} 'é esperado.] com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException (Fonte desconhecida) em com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0 (Fonte desconhecida) em com. sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal (fonte desconhecida) em org.hibernate.boot.jaxb.internal.AbstractBinder.jaxb (AbstractBinder.java:171) ... 14 mais
Há um erro de digitação em seu user.hbm.xml. Você escreveu "genereator" em vez de "generator". Conserte e deve funcionar.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras