我有一個groovy域類。字段未映射到數據庫。 控制器創建一個這樣的對象的列表,並在發送到視圖之前進行排序。Groovy未保存並未在控制器中排序的域對象列表
instances = instances.sort() { it.part_number }
它沒有排序。列表的打印成員返回0表示整數字段,null表示字符串字段。
打印的第一個元素
println instances[0]
導致
mypackage.Order : (unsaved)
爲什麼它是未保存的?不可排序?
如果我將我的域類作爲POGO類移動到src/groovy,它會起作用。但只有當我將part_number聲明爲String。如果part_number是整數。它會崩潰。
| Error 2015-01-15 09:17:14,771 [http-bio-8080-exec-2] ERROR errors.GrailsExceptionResolver - GroovyCastException occurred when processing request: [GET] myapp/showInstances - parameters:
sort: part_number
order: asc
Cannot cast object '259042' with class 'groovy.util.slurpersupport.NodeChildren' to class 'java.lang.Integer'. Stacktrace follows:
Message: Cannot cast object '259042' with class 'groovy.util.slurpersupport.NodeChildren' to class 'java.lang.Integer'
它部分工作。請參閱我更新後的帖子。 – johnsam 2015-01-15 16:22:25
你是對的。一旦我將該字段轉換爲String並創建Integer對象,它就開始工作。這是一個單獨的問題。無論如何,它現在正在工作。謝謝! – johnsam 2015-01-15 17:06:51