Ошибка отображения Grails при добавлении нового объекта домена - PullRequest
0 голосов
/ 27 января 2012

Я создал новый объект домена в существующем проекте Grails 1.3.7.

package com.xfitlog

class Implement {
    String name
    String description
    String abbreviation

    static belongsTo = [exercise : Exercise]

    static constraints = {
        name( nullable: false, unique: true )
        description( nullable: false, maxSize: 2000 )
        abbreviation( nullable: true )
    }

    String toString() {
        "${name}"   
    }
}

Этот класс ссылается на класс 'Implement'.

class Exercise{

    String          name
    String          description
    boolean         isApproved
    Implement       implement

    static constraints = {
        name            ( nullable: false )
        description     ( nullable: false, maxSize: 5000 )
        isApproved      ( nullable: true )
        implement       ( nullable: true )
    }

    String toString() {
        "${name}"
    }   
}

Когда я запускаю grails run-app через командную строку Windows, я получаю следующие ошибки:

Причина: org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именемactionManager: не удается разрешить ссылка на bean-компонент sessionFactory при установке свойства bean-компонента essionFactory '; вложенное исключение org.springframework.beans.factory.BeanCreationException: ошибка создание компонента с именем sessionFactory: вызов метода init не удалось; вложенным исключением является org.h ibernate.MappingException: An Ассоциация из таблицы упражнений относится к несопоставленному классу: com.xfitlog.Implement ... еще 28 причин: org.springframework.beans.factory.BeanCreationException: ошибка создание компонента с именем sessionFactory: вызов метода init не удалось; Вложенное исключение - org.hibernate.MappingException: An Ассоциация из таблицы упражнений относится к несопоставленному классу: com.xfitlog.Implement ... еще 28 Вызывается: org.hibernate.MappingException: ассоциация из упражнения таблицы ссылается на не отображенный класс com.xfitlog.Implement ... еще 28 Завершение работы контекста приложения ...

Я попытался создать новый проект и добавить те же классы домена, и все работает нормально. Я не знаю, что изменилось в моем первоначальном проекте, но что-то не так.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 28 января 2012

Убедитесь, что вы не смешиваете hibernate hbm.xml классы с объектами домена.Я получил похожую ошибку, и это оказалось проблемой.

мое текущее приложение смешивает старый стиль groovy pojo (в основном java pojo, написанный на groovy), используя файлы отображений hiberate в библиотеке и классы доменов в основномproject.

Также убедитесь, что все классы вашего домена имеют правильные операторы import и package.

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