Другими словами, следующее:
class Subscriber {
...
static hasMany = [ topics : Topic]
static fetchMode = [topics:"eager"]
static mapping = {
topics joinTable: [name: 'subscriber_topic', column: 'topic_id', key: 'subscriber_id']
}
}
охотно загружает объединяющую таблицу subscriber_topic, но не класс Topic, как видно из журналирования sql:
Hibernate:
select
subscriber0_.id as id41_0_,
subscriber0_.version as version41_0_,
....
topics2_.subscriber_id as subscriber1_3_,
topics2_.topic_id as topic2_3_
from
subscriber subscriber0_
left outer join
subscriber_topics topics2_
on subscriber0_.id=topics2_.subscriber_id
where
subscriber0_.id=?
Я ожидаю, что будут выбраны реальные объекты Topic, а не таблица соединения. Но, кажется, выборка происходит в таблице соединений, а не в реальных связанных объектах.