Až Vám zčerná obrazovka, přejděte na Linux!

Proč používat Linux
Zobrazují se příspěvky se štítkemGrails. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemGrails. Zobrazit všechny příspěvky

pátek 21. října 2011

Grails, Searchable plugin a org.hibernate.NonUniqueObjectException

Podařilo se mi při testování Searchable plugin získat org.hibernate.NonUniqueObjectException při Create operaci. Je to způsobeno chybou při vkládání do složeného indexu. Tvůrce pluginu s tím má nějaké potíže, takže je potřeba použít workaround: je potřeba během save() vypnout mirorring a občas pro jistotu reindexovat.

def searchableService
def save = {
def polozkaInstance = new Polozka(params)
searchableService.stopMirroring()
if (polozkaInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'polozka.label', default: 'Polozka'), polozkaInstance.id])}"
redirect(action: "edit", id: polozkaInstance.id)

}
else {
render(view: "create", model: [polozkaInstance: polozkaInstance])
}
searchableService.startMirroring()
}


Třeba to někomu pomůže.