2016-05-13 13 views
0

Ich habe eine JPA (Hibernate) -Entität, die unten gezeigt wird. Es gibt möglicherweise mehr als eine Regel und ich brauche den Benutzer meiner App, um die Reihenfolge der Regeln ändern zu können. Deshalb habe ich das Attribut Order eingeführt. Wenn der Benutzer entscheidet, dass die bestimmte Regel die fünfte Regel in der Liste sein soll, muss ich Auftrag auf den entsprechenden Wert setzen und auch ändern (neu berechnen) Auftrag von anderen Einheiten durch diese Operation beeinflusst. Ich habe einige Ideen (gespeicherte Proc oder viele Fragen), wie es geht, aber ich mag keine von ihnen, weil sie mir nicht einfach genug erscheinen. Haben Sie irgendwelche Ideen, wie Sie dieses Problem auf einfache Weise lösen können? Viele im Voraus.JPA-Entität benutzerdefinierte Reihenfolge

@Entity 
@Table(name = "rule") 
public class RuleVO { 

    @Id 
    @GeneratedValue 
    private Long id; 

    @Column(name = "name", length = 128, nullable = false, unique = true) 
    private String name; 

    @Column(name = "order", nullable = false) 
    private Integer order; 
} 
+0

Ist das von Nutzen: http://docs.oracle.com/javaee/6/api/javax/persistence/OrderColumn.html –

+0

Vielen Dank für die Antwort, aber das wird mir leider nicht helfen, da die RuleVO-Entität isn 't beteiligt in OneToMany oder ManyToMany Beziehung. – Vojtech

+0

Welche Liste dann? wenn es nicht in einer Entität ist. –

Antwort

0

Ich sehe keine bestimmte Option in JPA für so etwas wie. Wenn der Benutzer die Bestellung ändert, werden Sie alle Regeln lesen, das Bestellattribut festlegen und die Ergebnisse aller Regeln in die Datenbank zurückführen. Was gibt es noch?

Verwandte Themen