Найден способ.
Создано 2 объекта домена, Cdisc и Tape.cdisc и tape - это 2 таблицы в 2 разных базах данных.Обе таблицы имеют общий первичный идентификатор, player_id.Идея состоит в том, чтобы отображать данные из этих 2 таблиц на одной странице.
Cdisc.groovy
package tune
class Cdisc {
String name
double cId
String id
static mapping = {
table 'cdisc'
version false
columns {
id column:'player_id'
cId column:'c_id'
name column: 'name'
}
}
}
Tape.groovy
package tune
class tape {
String id
String tapeDate
String comments
static mapping = {
table 'tape'
version false
columns {
id column:'player_id'
tapeDate column:'tape_date'
comments column: 'comments'
}
}
public def getName(){
def cdisc = Cdisc.findById(this.id)
return cdisc.name
}
}
TapeController.groovy
def list = {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
[tapeInstanceList: tape.findAllByCommentsLike('%Test%'), tapeInstanceTotal: Tape.count()]
}
Окончательно отображаем имя из таблицы cdisc с использованием получателя
list.gsp
<g:each in="${tapeInstanceList}" status="i"
var="tapeInstance">
<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
<td><g:link action="edit" id="${tapeInstance.id}">
${fieldValue(bean: tapeInstance, field: "id")}
</g:link></td>
<td>
${fieldValue(bean: tapeInstance, field: "tapeDate")}
</td>
<td>
${fieldValue(bean: tapeInstance, field: "comments")}
</td>
<td>${tapeInstance.getName()}</td>
</g:each>
Таким образом, мы используем получатель для получения данных из второй таблицы в другой базе данных,Работал на меня.Дайте мне знать, если есть какие-либо другие обходные пути.