【发布时间】:2014-05-07 10:24:36
【问题描述】:
我在this tutorial 之后基于 apache olingo、JPA 和 mySQL 构建了一个 OData Producer 虽然 OData Feed 中显示了多对多关联,但根本不显示多对一关联(它们的 JOIN 列也不可见)
有人知道如何让 olingo 显示这些关联吗?
【问题讨论】:
标签: java jpa odata many-to-one olingo
我在this tutorial 之后基于 apache olingo、JPA 和 mySQL 构建了一个 OData Producer 虽然 OData Feed 中显示了多对多关联,但根本不显示多对一关联(它们的 JOIN 列也不可见)
有人知道如何让 olingo 显示这些关联吗?
【问题讨论】:
标签: java jpa odata many-to-one olingo
在 2.0.0 [http://olingo.apache.org/download.html] 发布的 Olingo V2 库中,不必使用 name 和 referencedColumnName 来注释关系属性。
有关更多详细信息,请参阅 JIRA 问题 - https://issues.apache.org/jira/browse/OLINGO-127。
问候 钱丹
【讨论】:
NullpointerException。我需要对此进行详细调查。当它起作用时,我会给你一个接受的答案复选标记
我们遇到了同样的问题。结果发现 olingo 没有正确获取默认的 referencedColumnName,因此我们必须在所有关联中手动设置它。
例如
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="AccountId")
public Account account;
变成
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="AccountId", referencedColumnName = "Id")
public Account account;
【讨论】:
initializeODataJPAContext 中使用 ODataJPAContext.setDefaultNaming(false) 禁用 olingo 名称生成。除此之外,它对我们来说效果很好,所以我不能帮助更多的抱歉:(