| 

.NET C# Java Javascript Exception

ID mapping als String

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.


ID mapping als String

rawi - 16.04.2009 17:46
Hallo allerseits.

Ich habe einige Tabellen aus der Postleitzahlen-CD der Post in Postgresql geladen.
Dort gibt's in mehreren Tabellen ein String-Feld namens 'alort' als Verknüpfungsmöglichkeit (Primary Key der Tabelle 'orte').

'alort' ist eine 8-stellige Nummer, gespeichert als char(8). Sie hat durchaus auch Zero-s '0' am Anfang.

Mit der folgenden Klasse gelingt es mir, die Daten mit Grails sichtbar zu machen:
(Grails 1.1)
class PlzOrte {
	//String alort
	String kgs
	String ort
	String zusatz
	String zusatzArt

	static mapping = {
		table 'plz.orte'
		version false
		cache 'read-only'

		id  column: 'alort', sqlType: 'char(8)', generator: 'assigned'

		kgs column: 'kgs', sqlType: 'char(8)'
		ort column: 'ort', sqlType: 'varchar(50)'
		zusatz column: 'zusatz', sqlType: 'varchar(50)'
		zusatz_art column: 'zusatz_art', sqlType: 'char(1)'
    }
}

Was mir keinesfalls gelingen will:

1. Ich kann dem ID-Column nicht einen anderen Namen geben. Ich würde gerne in der Liste der Orte das Column-Heading als 'alort' sehen und nicht als 'id'.
Folgendes funktioniert nicht:
id  name: 'alort', column: 'alort', sqlType: 'char(8)', generator: 'assigned'

Hier könnte ich freilich damit leben.
Eine Lösung wäre jedoch für die Datenbanken interessant, wo der User das Primary Key in Form eines Strings nach irgend einer schon längst etablierten Logik bildet, eingibt und in der Liste den korrekten etablierten Namen des Feldes sehen will.

Die Lösung aus [www.grails.org]
...bekomme ich nicht hin. Statt dessen eine Hibernate-Exception...
static id = {
      idMapping(name:'personId',column:'uid',unsavedValue:0)
      generator(class:'sequence',name:'person_seq')
}

Wie Könnte ich 'id' einen anderen Namen geben?

2. In der OrtsListe, die ich bekomme, stehen unter ID die Alort-Werte. Die wurden dezidiert als char(8) definiert. Trotzdem werden die anfänglichen Zero-s abgeschnitten und die Werte als Nummer aufgelistet. Gibt es eine Lösung?

3. Falls (in einem anderen Szenario mit String-IDs) der User direkt das ID Feld zur Eingabe bräuchte... Das wird von Grails nicht in Edit-Views gezeigt. Muss man das zusätzliche (ID)-Input-Feld per Hand in die Views bereitstellen?

Herzlichen Dank im Voraus!


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "ID mapping als String" 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.