Я создаю простую CRUD для БД Oracle 12c в Grails 3 с использованием скаффолдинга, а для простых таблиц, которые имеют столбец с явным целочисленным идентификатором, как этот:
class Config {
int id
String name
String type
String value
String description
int status
static constraints = {
/* constraints constraints constraints */
}
static mapping = {
sort 'name'
version false
id column: 'CONFIGID', name:'id', generator:'sequence', params:[sequence: 'CONFIG_SEQ']
}
}
все работает нормально, и выможет получить доступ к представлениям скаффолдинга данной строки через автоматически сгенерированную ссылку в виде списка, а также с явным URL-адресом в виде config/<view>/<ID>
, как только у меня появится таблица с составным ключом, подобным этому:
class AliasFrequencyDict implements Serializable{
String frequency
String unit
String description
String lang
static constraints = {
/* constraints constraints constraints */
}
static mapping = {
sort 'frequency'
version false
id composite: ['frequency', 'unit', 'lang']
}
}
... вы больше не можете получить доступ к строкам (или я не знаю как).Scaffolding больше не генерирует ссылки на представления в виде списка, и попытка доступа к нему через URL-адрес, такой как aliasFrequencyDict/show/0/D/PL
(который будет точно /<view>/<frequency>/<unit>/<lang>
, как указано в определении составного идентификатора), приводит к 404.
Как получить доступ к соответствующим страницам шоу, редактирования и т. Д. При использовании составного идентификатора?