У меня есть два домена:Как заставить grails GORM уважать схему БД?
class CodeSet {
String id
String owner
String comments
String geneRLF
String systemAPF
static hasMany = [cartridges:Cartridge]
static constraints = {
id(unique:true,blank:false)
}
static mapping = {
table 'code_set'
version false
columns {
id column:'code_set_id', generator: 'assigned'
owner column:'owner'
comments column:'comments'
geneRLF column:'gene_rlf'
systemAPF column:'system_apf'
}
}
and :
class Cartridge {
String id
String code_set_id
Date runDate
static belongsTo = CodeSet
static constraints = {
id(unique:true,blank:false)
}
static mapping = {
table 'cartridge'
version false
columns {
id column:'cartridge_id', generator: 'assigned'
code_set_id column:'code_set_id'
runDate column:'run_date'
}
}
На самом деле, с теми моделями, которые я получаю таблицы:
- code_set,
- картридж,
- и стол: code_set_cartridge (два поля: code_set_cartridges_id, cartridge_id)
Я хотел бы, чтобы не иметь code_set_cartridge таблицы, но сохранить отношения:
code_set -> 1: п -> картриджа
Другими словами, как я могу поддерживать связь между code_set и картриджем без промежуточной таблицы? (используя code_set_id как первичный ключ в code_set и code_set_id как внешний ключ в картридже).
Сопоставление с GORM может осуществляться без промежуточной таблицы?
С помощью однонаправленного режима также нет промежуточной таблицы. Но я путаюсь с двунаправленным и однонаправленным режимом. В каком случае я должен использовать двунаправленный и однонаправленный режим? Пример ? Спасибо –
Решение действительно сводится к тому, что вы хотите иметь доступ к сопоставленному набору и ссылке, или просто ссылку. Мое предпочтение является однонаправленным, так как вы всегда можете найти экземпляры CodeSet, которые ссылаются на картридж через «CodeSet.findAllByCartridge (this)» или «CodeSet.findAllByCartridge (картридж)». –
В вашем примере вы используете однонаправленный режим? Правильно ? Используя «Картриджный картридж», у меня также есть однонаправленный режим. В чем разница ? Является ли однонаправленный режим и двунаправленный режим влиять на организацию таблицы db? –