java-hibernate无效配置异常
我试着改变!DOCTYPE,但仍不工作 我的Test.javajava-hibernate无效配置异常,java,hibernate,Java,Hibernate,我试着改变!DOCTYPE,但仍不工作 我的Test.java import com.serwis.model.User; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hib
import com.serwis.model.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
/**
* Created by Jodanpotasu on 2016-07-17.
*/
public class TEST {
public static void main(String[] args){
Configuration configuration = new Configuration().configure(); //with configure("hibernate.cfx.xml still not working
ServiceRegistry serviceRegistry
= new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
// builds a session factory from the service registry
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
try{
User user = new User(1,"login","password","mail",null);
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(user);
}catch (Exception e){
System.out.println("blad");
} finally {
System.out.println("zrobiono");
}
}
}
我的hibernate.cfg.xml
<?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">
<hibernate-configuration xmlns="http://www.hibernate.org/xsd/hibernate-configuration">
<session-factory>
<!-- JDBC connection settings -->
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:hsql://localhost:9001</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<!--https://www.progress.com/jdbc/resources/tutorials/connection-pooling/connection -->
<property name="connection.pool_size">1</property>
<!-- SQL DIALECT -->
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- SHOW SQL OUTPUT -->
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
org.hsqldb.jdbcDriver
jdbc:hsqldb:hsql://localhost:9001
sa
1.
org.hibernate.dialogue.hsql方言
真的
和控制台的输出
线程“main”org.hibernate.MappingException中的异常:无效
配置在
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2160)
位于org.hibernate.cfg.Configuration.configure(Configuration.java:2077)
位于org.hibernate.cfg.Configuration.configure(Configuration.java:2056)
位于com.serwis.TEST.main(TEST.java:17)
sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)位于
invoke(NativeMethodAccessorImpl.java:62)
在
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.lang.reflect.Method.invoke(Method.java:498)
com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
原因:org.xml.sax.saxpasseeption;行号:6;列号:
87; 必须为元素类型声明属性“xmlns”
“休眠配置”。在
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
在
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
在
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
在
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
在
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
在
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(XMLDTDValidator.java:1253)
在
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handlestarelement(XMLDTDValidator.java:1917)
在
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:742)
在
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:380)
在
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:614)
在
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3135)
在
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880)
在
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
在
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)
在
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
在
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
在
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
在
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
在
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
在
com.sun.org.apache.xerces.internal.jaxp.saxpasserimpl$jaxpsaxpasser.parse(saxpasserimpl.java:643)
位于org.dom4j.io.SAXReader.read(SAXReader.java:465)
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2157)
... 8个以上
进程已完成,退出代码为1
哪里出错了?从
<hibernate-configuration
xmlns="http://www.hibernate.org/xsd/hibernate-configuration">
为什么不先删除doctype呢。这是一个非强制属性,实际上它是在抱怨与xmlns元素对应的第6行。你可以删除名称空间,我不认为它会抱怨它。它又是非强制性的。它几乎可以工作,现在我有另一个连接错误!:D Intellij给我加了一个。哈,至少你更进一步了。