2015-10-09 2 views
0

После успешного запуска мое приложение начало давать мне странные ошибки домена при запуске. Независимо от того, что я делаю, я не могу заставить это работать.Исправление отображения доменов Grails

Caused by MappingException: Could not determine type for: appospherelaunchv1.Entity, at table: entity_history, for columns: [org.hibernate.mapping.Column(entity)] 

EntityHistory Класс:

class EntityHistory { 
    Entity entity 
    Date startDate 
    Date endDate 
    Boolean isCurrent 
    Date changeDate 

    static belongsTo = [entity: Entity] 

    static constraints = { 
     entityTypeID nullable:false 
     startDate nullable:false 
     endDate nullable:true 
     changeDate nullable:false 
     isCurrent nullable:true 
    } 
} 

Entity Класс:

class Entity { 
String description 
Date changeDate 
Date createDate 
Date entityChangeDate 
EntityTypes entityTypes 
User user 
Customer customer 
Contacts contacts 
LeadSources leadSources 
EntityStatus entityStatus 

static hasMany = [entityData: EntityData] 
static belongsTo = [entityTypes: EntityTypes, user: User, customer: Customer, contacts: Contacts, leadSources: LeadSources, entityStatus: EntityStatus] 

    static constraints = { 
     user nullable:false 
     customer nullable:false 
     contacts nullable:false 
     leadSources nullable:false 
     description size:1..2000, nullable:true 
     entityTypes nullable:false 
     changeDate nullable:false 
     createDate nullable:false 
     entityStatus nullable: false 
     } 
} 

Удаление принадлежит отношений сущности не меняет сообщение об ошибке. Кто-нибудь видел эту ошибку раньше?

+0

Можете ли вы попробовать создать в новом экземпляре базы данных? – Neoryder

+0

Из моего опыта, если у вас есть сущность, определенная в 'ownTo', вам также не нужно явно определять ее отдельно. Если вы сохраняете сущность Entity в своем домене EntityHistory, вам нужно только указать 'attribTo = Entity'. Если вы удалите объект Entity, вы можете сохранить 'attribTo = [entity: Entity]'. Однако, поскольку вы сказали, что удаление 'ownTo' вообще не исправляет проблему, это может быть не очень полезно. – Rob

+1

Что произошло между _running fine_ и _strange domain errors_? –

ответ

0

Я думаю, если вы уже определение собственности в belongsTo из EntityHistory тогда нет необходимости определять так же, как другую собственность.

, попробуйте удалить объект Entity из класса EntityHistory, поскольку он не может сопоставить одноименное свойство с вашим столбцом в базе данных.

Также возможно, что это уже испортило вашу базу данных. Попробуйте запустить приложение в новом экземпляре базы данных с режимом «create» в DataSource для создания новых новых таблиц.

Спасибо.

Смежные вопросы