Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.
class Contact {
static hasMany = [versions: ContactVersion]
ContactVersion getLatestVersion() {
if(versions?.size() > 0) {
return versions.max()
} else {
return null
}
}
// Nötig um zu Verhindern, dass GORM die Referenz zur aktuellten Version persistent macht.
static transients = ["latestVersion"]
}
class ContactVersion {
static belongsTo = [contact: Contact]
// Versionsnummer
int number
// Versionierte Kontaktdaten
String name
String city
...
}
Contact.findAll().each{
println "${it.id}, ${it.latestVersion.name}, ${it.latestVersion.city}"
}
Contact.findAll().each{
if(it.latestVersion.city == "Dresden") {
println "${it.id}, ${it.latestVersion.name}, ${it.latestVersion.city}"
}
}
latestVersion.city = "Dresden"stehen hat. Da müsste man wahrscheinlich mit GROUP BY und MAX() arbeiten, womit wir auch beim Thema Datenbankkompatibilität wären.
class Contact {
static hasMany = [versions: ContactVersion]
static mappedBy = [versions: "contact", latestVersion: "latestVersionContact"]
ContactVersion latestVersion
}
class ContactVersion {
static belongsTo = [contact: Contact, latestVersionContact: Contact]
// Versionsnummer
int number
// Versionierte Kontaktdaten
String name
String city
...
}
org.codehaus.groovy.runtime.InvokerInvocationException: org.springframework.dao. DataIntegrityViolationException: not-null property references a null or transien t value: de.mms_dresden.mpanalyse.core.ContactVersion.contact; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: de.mms_dresden.mpanalyse.core.ContactVersion.contact
contact.versions << newVersion newVersion.contact = contact contact.latestVersion = newVersion newVersion.latestVersionContact = this
Diese Seite zeigt den Thread "Abfrageproblem" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.
Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!
Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.