次のように、Java から DB にオブジェクトを永続化できます。
テーブルパーソン:
varchar name
varchar groupID
varchar emailAddress
key on (name, groupID)
そしてJavaでは
Person foo = new Person("dhackner", "3");
session.persist(foo);
2 つの引数がキーを構成します。この場合、name と groupID は DB 内の一意のキーであるため、テーブル内の特定の行を明確に識別するのに十分です (複数の "dhackner" エントリ、複数の "group 3" エントリを持つことができますが、"dhackner, group 3" エントリ)。
セットアップが正しいと仮定すると、そのコードは次のようになります。
name | groupID | emailAddress
dhackner | 3 | ""
クエリを記述したり、自動生成された ID を使用したりせずに、その逆を実行できるようにしたいと考えています。
テーブルパーソン:
name | groupID | emailAddress
dhackner | 3 | "something"
dhackner | 4 | "foobar"
other | 3 | "barfoo"
Java の場合:
Person foo = new Person("dhackner", "3");
foo.load(); // something like this
Assert.assertEquals(foo.getEmailAddress(), "something");