Ich versuche, eine eingebettete Domäne mit einer Viele-zu-eins-Beziehung in Grails 2.2.1 zu verwenden. Hier ist eine vereinfachte Version von dem, was ich versuche zu tun.GORM-Zusammensetzung - eingebettete Domäne mit Viele-zu-eine-Beziehung wirft org.hibernate.MappingException
Ich Mapping auf bestehende db Tabellen:
create table incident (id bigint generated by default as identity, state_id bigint not null, primary key (id));
create table state (id bigint generated by default as identity, name varchar(255) not null, primary key (id));
alter table incident add constraint FK52F44D27499E79E foreign key (state_id) references state;
Domains, die auf "Vorfall" Tabelle Karte:
class Incident {
Vehicle vehicle
static embedded = ['vehicle']
}
class Vehicle{
State state
static mapping = {
state column: 'state_id'
}
}
Domain, die auf "Zustand" Tabelle ordnet:
class State {
String name
}
Wenn ich versuche, meine Anwendung auszuführen, erhalte ich die folgende Fehlermeldung:
Message: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.MappingException: Could not determine type for: test.State, at table: incident, for columns: [org.hibernate.mapping.Column(vehicle_state)]
Ist es möglich, eine Viele-zu-Eins-Assoziation innerhalb einer eingebetteten Domäne zu haben?
- aktualisieren -
landete ich eine Abhilfe mit dem Zustand zu erhalten.
class Vehicle{
static transients = [ "state" ]
Long stateId
static mapping = {
stateId column: 'state_id'
}
State getState(){
State.get(this.stateId)
}
}
Ich fange an, dies zu denken, könnte ein grails bug ... Klingt http ähnlich: //jira.grails.org/browse/GRAILS-9012 –