Отображение Hibernate для одного-к-одному - PullRequest
0 голосов
/ 24 июля 2010

У меня есть два класса, связанные с Hibernate, и я не могу определить конфигурацию для сопоставления записи Drug с моим PrescribedDrug class.

public class PrescribedDrug implements Serializable {

    protected int prescribedDrugId;
    private int drugId;
    protected String sig;
    protected int quantity;
    protected int refillNumber;
    protected Drug drugInfo;
    ...
}

public class Drug implements Serializable {
    protected int drugId;
    protected String name;
    protected double strength;
    protected String strengthUnits;
    ...
}

Моя модель данных выглядит следующим образом:

prescribed_drug             drug
----------                  --------------
prescribed_drug_id*         drug_id*
drug_id*                    name
sig                         ....
...

Вот моя конфигурация гибернации:

<hibernate-mapping>
    <class name="org.example.smartgwt.shared.model.PrescribedDrug" table="prescribed_drug" lazy="false">

        <id name="prescribedDrugId" column="prescribed_drug_id">
            <generator class="assigned"/>
        </id>

        <property name="drugId">
            <column name="drug_id"/>
        </property>
        <property name="sig">
            <column name="sig"/>
        </property>
        <property name="quantity">
            <column name="quantity"/>
        </property>
        <property name="refillNumber">
            <column name="refill_number"/>
        </property>

        <one-to-one name="drugInfo" class="org.example.smartgwt.shared.model.Drug" lazy="false" />

    </class>
</hibernate-mapping>

<hibernate-mapping>
    <class name="org.example.smartgwt.shared.model.PrescribedDrug" table="prescribed_drug" lazy="false">

        <id name="drugId" column="drug_id">
            <generator class="assigned"/>
        </id>

        <property name="name">
            <column name="name"/>
        </property>
        <property name="strength">
            <column name="strength"/>
        </property>
        <property name="strengthUnits">
            <column name="strength_units"/>
        </property>
    </class>
</hibernate-mapping>

ПРИМЕЧАНИЕ здесь я пытался отобразить свой препарат в конфигурации PrescribedDrug.hbm.xml с использованием один к одному , но hibernate продолжает подсказывать мне добавить поля Drug в PrescribedDrug file ...

поле [имя] не найдено в org.example.smartgwt.shared.model.PrescribedDrug

Записи в Препарат Таблица является статической и содержит свойства назначенных препаратов.

Спасибо.

Ответы [ 2 ]

1 голос
/ 24 июля 2010

В ваших сопоставлениях я видел, что вы отображали только для PrescribedDrug.

Измените свой второй класс файла сопоставления на Drug

<class name="org.example.smartgwt.shared.model.Drug" table="drug" lazy="false">
0 голосов
/ 24 июля 2010

отработанный ответ в комментариях, видимо ....

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