Posts mit dem Label Spring Roo werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Spring Roo werden angezeigt. Alle Posts anzeigen

Dienstag, 3. Dezember 2013

Echte Programmierer lieben CLIs

Wer schon mal mit der Spring Roo Shell gearbeitet hat oder mit der Spring rest-shell will bestimmt auch seine eigene Software so präsentieren. Zu diesem Zweck hat Spring die Shell herausgelöst und zur Verfügung gestellt. 

Freitag, 14. September 2012

Spring Roo: sortierte Listen

Um mit Spring Roo per Konsolenbefehle sortierten Listen zu erstellen, erfordert es einen kleinen manuellen Eingriff.
Hier eine Anleitung anhand eines Beispiels:

field set  --fieldName orderedBs --type ~.domain.ClassB 
--cardinality ONE_TO_MANY --class ~.domain.ClassA
field number --fieldName orderNo --type java.lang.Integer  --min 0

Damit erhält man ein unsortiertes Set generiert, es gibt aber kein Schlüsselwort um eine sortierte Liste zu erzeugen. Alle Attribute für die Sortierung sind aber bereits angelegt.
Das Gute: Die Views und Controller  funktionieren jetzt schon ohne Anpassung für sortierte Listen. 
Die einzige Änderung die man nun per Hand machen muss, ist die Umstellung in der generierten Modell - Klasse (~domain.ClassA):  

    @OneToMany(mappedBy = "classA", cascade = CascadeType.ALL)
    @OrderBy("orderNo")
    private List<ClassB>  orderedBs  = new LinkedList<ClassB>();

Das war es, es werden sortierte Ergebnisse in den Views ohne weitere Anpassungen geliefert.
Kleiner Pferdefuß: da "order" ein Schlüsselwort in SQL ist, kann es nicht als Attributname für die Annotation OrderBy verwendet werden. D.h. @OrderBy("order") ist durch SQL verboten! Das merkt aber erst die Datenbank, die Annotation, Hibernate und Spring halten sich hier völlig ruhig.