0

我需要使用 Jackcess 库创建一个表,该库由外键引用列和具有自动增量的主键列组成。另外,如何为日期/时间戳等所有列指定默认值?

Jackcess 食谱中,我找到了一个创建表的示例,但它没有涵盖上述情况。

我该如何实现上述内容?

4

1 回答 1

2

建立关系

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”属性。

于 2016-10-05T15:15:19.310 回答