new Address(
"5500 North 2700 East Rd", "Salt Lake City",
"UT", "12121"));
ben.setWorkAddress(
new Address(
"5600 North 2700 East Rd", "Salt Lake City",
"UT", "12121"));
ben.setVacationAddress(
new Address(
"2700 East 5500 North Rd", "Salt Lake City",
"UT", "12121"));
// Ben really needs to get out more
db.set(ben);
db.commit();
}
跟本系列早先的探察测试示例一样,在每次测试完成后,我使用带 @After 注释的 deleteDatabase() 方法来删除数据库,以使各部分能够很好地分隔开。
让我们运行几个查询……
在实际运行这个方法之前,我将会检查在系统中使用 Employee 会有哪些效果(如果有的话)。希望从数据库获取所有 Employee 信息,这很正常 — 或许当公司破产时他们将会全部被解雇(是的,我知道,这样想很残酷,但我只是对 2001 年的 dot-bomb 事故还有点心有余悸)。最初的测试看起来很简单,正如清单 4 所示:
清单 4. Ted 说,“你被解雇了!”
@Test public void testSimpleInheritanceQueries()
{
ObjectSet employees = db.get(Employee.class);
while (employees.hasNext())
System.out.println("Found " + employees.next());
}