Одно отличие состоит в том, что session.save(person)
будет работать с любой сущностью, отображаемой в этом сеансе Hibernate, где person.save()
работает только с сущностями GORM (которые также отображаются для вас в сеансе Hibernate).
При использовании GORM на самом деле нет веских причин использовать session.save(person)
.
Я знаю, что вы не спрашивали о передовых методах или о GORM Data Service, но касались вашего вопроса ...
В последних версиях GORM лучше всего было бы иметь абстрактную службу данных GORM, подобную этой ...
import grails.gorm.services.Service
@Service(Person)
interface PersonService {
Person save(Person p)
}
И затем вводить ее везде, где вы хотите сохранить. Например, в контроллере:
class SomeController {
PersonService personService
def someAction() {
Person p = new Person()
// ...
personService.save p
// ...
}
}