Java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException:

java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Application_Identity (имя класса) не отображается [из Application_Identity (имя класса)]

Я получаю эту ошибку при извлечении данных с помощью HQL

Классы и задействованные файлы показаны ниже.

Application_Identity класс

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;


@SuppressWarnings("serial")
@Entity
public class Application_Identity implements Serializable
{
@Id
@Column(columnDefinition = "serial")

private long Application_ID;

public long getApplication_ID() {
    return Application_ID;
}

public void setApplication_ID(long application_ID) {
    Application_ID = application_ID;
}


}

Здесь Application_Identity - это родительский класс, от которого другие классы имеют отношения один к одному.

файл 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">org.gjt.mm.mysql.Driver</property>
        <property name = "hibernate.connection.password">babaswami</property>
        <property name = "hibernate.connection.url">jdbc:mysql://localhost:3306/cola?useSSL=true</property>
        <property name = "hibernate.connection.username">himanshu</property>
        <property name = "hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
        <property name = "hibernate.hbm2ddl.auto">create</property> 
        <property name = "show_sql">true</property>
        <!-- Mapping files -->
        <mapping resource = "Application_Identity.hbm.xml"/>
        <mapping resource = "Application_Type.hbm.xml"/>
        <mapping resource = "Graduation.hbm.xml"/>
        <mapping resource = "Other_Details.hbm.xml"/>
        <mapping resource = "Other_Qualifications.hbm.xml"/>
        <mapping resource = "Personal_Details.hbm.xml"/>
        <mapping resource = "Phd.hbm.xml"/>
        <mapping resource = "Post_Graduation.hbm.xml"/>
        <mapping resource = "Sslc_Puc.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

Другой класс

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;



@SuppressWarnings("serial")
@Entity
public class Application_Type implements Serializable
{
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private long application_type_id;
    private String applicant_type;
    @OneToOne(cascade=CascadeType.ALL,targetEntity=Application_Type.class)
    private Application_Identity application_identity;

    public long getApplication_type_id() {
        return application_type_id;
    }
    public void setApplication_type_id(long application_type_id) {
        this.application_type_id = application_type_id;
    }
    public String getApplicant_type() {
        return applicant_type;
    }
    public void setApplicant_type(String applicant_type) {
        this.applicant_type = applicant_type;
    }
    public Application_Identity getApplication_identity() {
        return application_identity;
    }
    public void setApplication_identity(Application_Identity application_identity) {
        this.application_identity = application_identity;
    }

}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
124
2

Ответы 2

Попробуйте добавить:

 @Table(name = "Application_Identity_TABLE_NAME") 

вашей организации, если имена разные .. вы можете показать структуру таблиц?

Можете ли вы быть немного конкретным?

Himanshu Jaiswal 12.04.2018 14:14

Чтобы убедиться, что вы правильно сопоставляете свои объекты, попробуйте сделать это для своих объектов:

@Entity 
@Table(name = "TABLE_IN_DATABASE_NAME")
public class EntityClass implements Serializable { 
    @Id 
    @Columns(name = "ID")
    private Integer id;

    @Columns(name = "OTHER_INT") //same column name in the table
    private Integer otherInt;
    //getters setters 
} 

PS: измените частный длинный Application_ID; в частный длинный application_ID;

Другие вопросы по теме