1
Parent
クラスが多く、Children
がある場合、Hibernateは自動的にその子の順序を管理できますか?ドキュメントを読んで検索することから、@OrderColumn
注釈でこれが有効になっているようですが、それを行う方法の例は見つかりませんでした。私が見つけたもっとも近いものはJPA 2.0 @OrderColumn annotation in Hibernate 3.5です。これはちょうど私がやりたいことと同じように見えるので少し落胆しています。私は、彼らがどうなるかわからないので、ここで Hibernateは子コレクションの順序を自動的に管理できますか?
class Parent {
// I probably need some sort of @OrderColumn annotation here, right?
private List<Child> children = new ArrayList<Child>;
}
class Child {
private Parent parent;
private int order;
}
class SomeBusinessLogic {
public static void createFamily() {
Parent dad = new Parent("Tom");
List<Children> children = dad.getChildren();
children.add(new Child("Alice");
children.add(new Child("Bob");
children.add(new Child("Carl");
session.save(dad);
}
public static void addChild(Parent parent) { // assuming Tom is passed in
List<Children> children = parent.getChildren();
children.add(1, new Child("Zelda");
session.save(parent);
// now, the order should be: Alice, Zelda, Bob, Carl
}
}
誰かが私にこれを行うのに十分な詳細を与えることができる場合おもちゃの例の仕事(またはそれが動作しないことを教えてください)、私は最も感謝するだろう。
これは[2902553](http://stackoverflow.com/q/2902553/851811)の複製のようです。 '@ OrderBy'を見てください。 –
Xavi、私は' Parent'を保存するときに注文列の自動更新にもっと興味があります。 '@ OrderColumn'アノテーションを' Parent'に追加すると、データベースから 'Parent'を取得したときに子どもを正しく注文しますが、並べ替えを永続化する方法を理解することはできません。 '@ OrderBy'は問題の側面を処理するだけなので、私にとっては十分ではありません。 –
コレクションを指定した順序で挿入しますか? – ssedano