我可以将一个对象从 Java 持久化到数据库中,如下所示:
表人:
varchar name
varchar groupID
varchar emailAddress
key on (name, groupID)
在Java中
Person foo = new Person("dhackner", "3");
session.persist(foo);
这两个论点构成了关键。在这种情况下,name 和 groupID 是数据库中的唯一键,因此足以清楚地识别表中的任何特定行(可以有多个“dhackner”条目、多个“组 3”条目,但只有一个“dhackner、组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");