Java 使用外键列、自动编号主键列和日期的默认值创建表

Java 使用外键列、自动编号主键列和日期的默认值创建表,java,jackcess,Java,Jackcess,我需要使用Jackcess库创建一个表,该库由外键引用列和具有自动增量的主键列组成。此外,如何为所有列(如日期/时间戳)指定默认值 在, 我找到了一个创建表的示例,但它没有涵盖上述情况 如何实现上述功能?建立关系 Jackcess 2.1.5增加了使用RelationshipBuilder创建关系(以及外键约束)的功能,例如: //RelationshipBuilder的JavaDoc中的示例: // Relationship rel=新的RelationshipBuilder(“FromTab

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

在, 我找到了一个创建表的示例,但它没有涵盖上述情况


如何实现上述功能?

建立关系

Jackcess 2.1.5增加了使用
RelationshipBuilder
创建关系(以及外键约束)的功能,例如:

//RelationshipBuilder的JavaDoc中的示例:
//
Relationship rel=新的RelationshipBuilder(“FromTable”、“ToTable”)
.addColumns(“ID”、“FK_ID”)
.setReferentialIntegrity()
.setCascadeDeletes()
.关系(db);
其他项目

  • 创建带有自动编号字段的表:
如中所示,这是使用
ColumnBuilder#setAutonumber(true)
完成的

  • 设置字段的默认值:
这可以通过为列创建名为“DefaultValue”的新属性来完成:

表tbl=db.getTable(“捐赠”);
Column col=tbl.getColumn(“捐赠日期”);
PropertyMap pm=col.getProperties();
pm.put(“默认值”、“日期()”);
pm.save();

但是,请注意,虽然ACE/Jet和将使用此默认值,但当Jackcess向表中添加新行时,它本身目前不尊重“DefaultValue”属性。

欢迎使用StackOverflow。感谢和其他聊天(阅读),不应该包含在问题中。除了外键引用,你应该能够做任何事情。此时,jackcess不支持创建外键索引。从jackcess的2.1.5版开始,您可以创建外键引用。更新此答案,从2.2.0版开始,jackcess支持表达式的可选计算(例如默认值)。该功能仍处于测试阶段,因此默认为禁用。您可以使用系统属性或通过在数据库实例上设置属性来启用它。