Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Hibernate中,我在运行时遇到以下错误_Java_Hibernate_Orm - Fatal编程技术网

Java 在Hibernate中,我在运行时遇到以下错误

Java 在Hibernate中,我在运行时遇到以下错误,java,hibernate,orm,Java,Hibernate,Orm,在Hibernate中,我在运行时遇到以下错误 1。employee.hbm.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hi

在Hibernate中,我在运行时遇到以下错误

1。employee.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE hibernate-mapping PUBLIC

 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


<hibernate-mapping package ="com.hibernate.basic">



    <class name="Employee" table="Employee" lazy="false">

        <id name="id" column="EMPID" type ="int">

            <generator class="increment"></generator>
        </id>

        <property name="firstName" column="NAME"></property>
        <property name="lastName"column="LNAME"></property>

    </class>
<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">



<hibernate-configuration>

    <session-factory> 
        <property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@172.16.3.94:1521:EAMABP</property>
        <property name="connection.username">EAM</property>
        <property name="connection.password">EAM</property>
        <property name="hibernate.connection.pool_size">10</property>
        <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name="current_session_context_class">thread</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        <mapping resource="employee.hbm.xml" />
    </session-factory>

</hibernate-configuration>
4。StoreData.java

package com.hibernate.basic;

public class Employee {

    private int id;
    private String FName, LName;

    public String getFName() {

        return FName;
    }

    public void setFName(String FName) {

        this.FName = FName;
    }

    public String getLName() {
        return LName;
    }

    public void setLName(String LName) {

        this.LName = LName;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}
package com.hibernate.basic;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class StoreData {
    public static void main(String[] args) {

        // creating configuration object
        Configuration cfg = new Configuration();
        cfg.configure("hibernate.cfg.xml");// populates the data of the
                                            // configuration file

        // creating seession factory object
        SessionFactory factory = cfg.buildSessionFactory();

        // creating session object
        Session session = factory.openSession();

        // creating transaction object
        Transaction t = session.beginTransaction();

        Employee e1 = new Employee();
        e1.setId(115);
        e1.setFName("sonoo");
        e1.setLName("jaiswal");

        session.persist(e1);// persisting the object

        t.commit();// transaction is commited
        session.close();

        System.out.println("successfully saved");

    }
}
执行后发生错误:

log4j:警告:找不到记录器的附加器 (org.hibernate.cfg.Environment)。log4j:警告请初始化 log4j系统正常工作。线程“main”中出现异常 org.hibernate.InvalidMappingException:无法分析映射 来自位于的resource employee.hbm.xml的文档 org.hibernate.cfg.Configuration.addResource(Configuration.java:569) 在 org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587) 在 org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555) 在 org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534) 在 org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508) 位于org.hibernate.cfg.Configuration.configure(Configuration.java:1428) 在com.hibernate.basic.StoreData.main(StoreData.java:13)上,由以下原因引起: org.hibernate.InvalidMappingException:无法分析映射 来自以下位置的输入流的文档: org.hibernate.cfg.Configuration.addInputStream(Configuration.java:508) 在 org.hibernate.cfg.Configuration.addResource(Configuration.java:566) ... 6更多原因:org.dom4j.DocumentException:第14行错误 文档类型:元素类型“property”后面必须跟 属性规范“>”或“/>”。嵌套异常:元素类型 “属性”后面必须跟属性规范“>”或 "/>". 位于org.dom4j.io.SAXReader.read(SAXReader.java:482) org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499) ... 还有7个


错误清楚地说明了行号和错误。看看这一点可能会有所帮助


文档第14行出错:元素类型“property”后面必须跟属性规范“>”或“/>”。嵌套异常:元素类型“property”后面必须跟属性规范“>”或“/>”

name=“lastName”
列之间缺少空格
此错误通常是因为您的标记未关闭。对于您在此处发布的内容,我猜您尚未关闭employee.hbm中的hibernate映射标记。请尝试这样做! 希望这有帮助

我也犯了同样的错误:

元素类型“property”后面必须跟任意一个属性 规格“>”或“/>”。嵌套异常:元素类型“属性” 必须后跟属性规范“>”或“/>”

我修改了*.hbm.xml文件中的一行,修复了这个问题

column=“ESAMBIGUA”和length=“1”/>


第一条评论,来自Eduard Wirch的评论真的帮助了我。谢谢

很抱歉,但这并不能解决问题。我收到了一些其他错误。谢谢,但您要求我修改jar代码,这不是问题所在。DOM解析器正在尝试解析文件。谢谢,但在Java空间中,此属性不起作用。谢谢,先生,我之前已经关闭了该标记。经过3天的斗争,我学到了三件事,请注意:1.如果将generator标记定义为increment,则java类中的注释setID.2.In&mapping hibernate.hbm.xml属性名称应该完全相同(这是我的错误)。3.在hibernate.cfg.xml中应该非常精确地给出xml的路径。。。。。。。。。。