Hibernate предоставил идентификатор неправильного типа для класса

Привет, ребята, у меня есть вопрос Hibernate для вас. У меня есть сопоставленный класс с этим файлом hbm.xml

   <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="myPackage">
        <class name="A" lazy="false" table="A">
            <meta attribute="class-description">
            Class description
            </meta>
            <composite-id>
                <key-many-to-one name="propA" class="B">
                    <column name="propA_column" />
                </key-many-to-one>
            </composite-id>
        <property name="propB" column="propB_column" type="string"
                access="field" />
        </class>
    </hibernate-mapping>

Идентификатор - это один внешний ключ другого класса:B Структура класса A Entity:

import java.io.Serializable;

public class A implements Serializable{

    private static final long serialVersionUID = ...L;
    private B propA;
    private String propB;
    //GETTER AND SETTER METHOD

}

В то время как сущность B как эта структура: import java.io.Serializable;

public class B implements Serializable{

    private B propA;
    //GETTER AND SETTER
}

Когда я делаю запрос get в сеансе, используя объект типа B, например, ключ,

session.get(A, B);

Такое определение в файл hbm.xml, я получаю эту ошибку:

 `TypeMismatchException: Provided id of the wrong type. Expected: class A, got class B

У вас есть ответ на эту проблему?

0 ответов

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