我需要使用 Jackcess 库创建一个表,该库由外键引用列和具有自动增量的主键列组成。另外,如何为日期/时间戳等所有列指定默认值?
在Jackcess 食谱中,我找到了一个创建表的示例,但它没有涵盖上述情况。
我该如何实现上述内容?
我需要使用 Jackcess 库创建一个表,该库由外键引用列和具有自动增量的主键列组成。另外,如何为日期/时间戳等所有列指定默认值?
在Jackcess 食谱中,我找到了一个创建表的示例,但它没有涵盖上述情况。
我该如何实现上述内容?
建立关系
Jackcess 2.1.5 添加了使用创建关系(以及外键约束)的能力RelationshipBuilder
,例如
// example in the JavaDoc for RelationshipBuilder:
//
Relationship rel = new RelationshipBuilder("FromTable", "ToTable")
.addColumns("ID", "FK_ID")
.setReferentialIntegrity()
.setCascadeDeletes()
.toRelationship(db);
其他项目
如食谱中所示,这是使用ColumnBuilder#setAutonumber(true)
.
这可以通过为列创建一个名为“DefaultValue”的新属性来完成:
Table tbl = db.getTable("Donations");
Column col = tbl.getColumn("DonationDate");
PropertyMap pm = col.getProperties();
pm.put("DefaultValue", "Date()");
pm.save();
但是请注意,虽然 ACE/Jet 和UCanAccess将使用此默认值,但 Jackcess本身在向表中添加新行时当前不尊重“DefaultValue”属性。