Вот мой объект домена:
package org.olr.nonadmin
import org.olr.admin.User
class Question {
// Integer id // autogenerated by db
// Integer version // autogenerated integer
Date dateCreated // auto filled
Date lastUpdated // auto filled
String qText // question text - can contain markup!
String aText // answer text - can contain markup!
boolean publik // public to all usersot needed
String figureBase64 // image in BASE64 format, used in data-URI for figure
String figureName // figure name (for documentation)
Integer format // how to format for projector display
Integer difficulty // e.g. 1 (easy), 2 (medium), 3 (hard)
Integer gradeLevel // grade: 5,6,7,8,9
static belongsTo = [owner: User]
User owner; // filled by controller save() method
static constraints = {
id generator: 'identity'
owner nullable: false, editable: false
qText sqlType: 'text', nullable: false, widget: 'textarea'
aText sqlType: 'text', nullable: false
figureBase64 sqlType: 'text', nullable: true, blank: true, maxSize: 1024*12
figureName nullable: true, blank: true
format min: 0, max: 5, sqlType: 'smallInt', nullable: true, blank: true
difficulty min: 1, max: 4, sqlType: 'smallInt', nullable: true, blank: true
gradeLevel min: 6, max: 8, sqlType: 'smallInt', nullable: true, blank: true
}
static mapping = {
sort id: "asc"
}
@Override
String toString() {
return "${id}"
}
}
Обратите внимание, что я хочу, чтобы все запросы Hibernate возвращали объекты Вопроса в id
порядке.
Вот служба, с помощью которой данные извлекается из таблицы вопросов:
package org.olr.nonadmin
import grails.gorm.services.Service
import org.olr.admin.User
@Service(Question)
interface QuestionService {
Question get(Serializable id)
List<Question> list(Map args)
List<QuestionFile> findByOwner(User owner) // Added, but implemented by GORM service
Long count()
void delete(Serializable id)
Question save(Question question)
}
Когда мое представление индекса извлекает данные (которые из-за редактирования изменили физический порядок строк на диске), данные не отображаются в порядке id
:
Данные в том порядке, в котором возвращается необработанный оператор SELECT:
Почему игнорируется
static mapping = {
sort id: "asc"
}
?
Grails ver. 3.3.1 POSTGRES версия 11.2
Примечание: я пытался использовать dateCreated
в качестве ключа сортировки - не повезло. Также безуспешно пробовал qText
в качестве ключа сортировки.