如何指定连接表的主键

时间:2013-02-24 23:54:55

标签: jdo datanucleus

我有一个类List,我想通过连接表来关联,以便同时允许1-M和M-1关系。换句话说,我想重用列表中的元素。

如果没有意义或在某种程度上不适用,请提供建议,因为我仍在尝试设计该模型的那一部分。

因此列表以这种方式映射:

@Persistent(table = "ixl_csv_metric_rel", defaultFetchGroup = "true")
@Join(column = "ixl_csv_fk")
@Order(column = "order")
@Element(dependent = "true", column = "ixl_metric_fk")
private List<IxlMetric> metrics;

问题在于,连接表是使用由ixl_csv_fkorder列组成的复合主键创建的,这不是我需要的。主键最好由ixl_metric_fk列而不是order列组成,这对我来说更有意义。

我可以禁用生成主键并稍后手动设置它,但我想知道是否有更好的方法来执行此操作?

@Join(column = "ixl_csv_fk", extensions = { @Extension(vendorName = "datanucleus", key = "primary-key", value = "false") })

1 个答案:

答案 0 :(得分:0)

别无他法。禁用它并自己手动覆盖它。 JDO提供了唯一合理的方法来匹配类定义和List字段。