Ошибка «java .lang.ClassCastException» с использованием Hibernate (5.4.12) - PullRequest
0 голосов
/ 09 марта 2020

Я получил ошибку java.lang.ClassCastException при использовании Hibernate (5.4.12).
Он говорит EntityReferenceEvent cannot be cast to class javax.xml.

Ошибка:

Mar 09, 2020 2:50:26 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 5.4.12.Final
Exception in thread "main" java.lang.ClassCastException: class com.sun.xml.internal.stream.events.EntityReferenceEvent cannot be cast to class javax.xml.stream.events.Characters (com.sun.xml.internal.stream.events.EntityReferenceEvent and javax.xml.stream.events.Characters are in module java.xml of loader 'bootstrap')
    at java.xml/com.sun.xml.internal.stream.events.DummyEvent.asCharacters(DummyEvent.java:115)
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXEventConnector.handleCharacters(StAXEventConnector.java:210)
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXEventConnector.bridge(StAXEventConnector.java:141)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:460)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:435)
    at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:126)
    at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:65)
    at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:57)
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:215)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:258)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:244)
    at com.fortune.Hibernate.App.main(App.java:26)

Мой класс приложения Hibernate.

public class App 
   {
    public static void main( String[] args )
    {
        Model model=new Model();
        model.setId(102);
        model.setName("Alien");
        model.setColor("Green");

        Configuration con= new Configuration();
        ServiceRegistry sg=new StandardServiceRegistryBuilder().applySettings(con.getProperties()).build();
        con.configure().addAnnotatedClass(Model.class);    
        SessionFactory sf= con.buildSessionFactory(sg);
        Session ss= sf.openSession();
        Transaction tns=ss.beginTransaction();   
        ss.save(model);
        tns.commit();
        ss.close();
        sf.close();
    }
}

Это файл '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>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password">12345678</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/fortune?verifyServerCertificate=false&useSSL;</property>
        <property name="hibernate.connection.username">root</property>
       <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hbm2ddl.auto",environment="hibernate.dialect")>update</property>
    </session-factory>
</hibernate-configuration>  

Моя модель:

@Entity
@Table(name="users")
public class Model {
    @Id
    private int id;
    private String name;
    private String color;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }   
}

1 Ответ

0 голосов
/ 10 марта 2020

Теперь я понял, что загружаю последнюю версию eclipse, и она имеет встроенный jdk 13.0. Мне нужно добавить jdk-8 и работать с ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...