【问题标题】:missing many-to-one associations in OData Feed (olingo)在 OData Feed (olingo) 中缺少多对一关联
【发布时间】: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


    【解决方案1】:

    在 2.0.0 [http://olingo.apache.org/download.html] 发布的 Olingo V2 库中,不必使用 name 和 referencedColumnName 来注释关系属性。

    有关更多详细信息,请参阅 JIRA 问题 - https://issues.apache.org/jira/browse/OLINGO-127

    问候 钱丹

    【讨论】:

    • 太棒了!我还没有看到那个新版本。但是现在 Olingo 在 Eclipse 生成的 JPA 上抛出了一个NullpointerException。我需要对此进行详细调查。当它起作用时,我会给你一个接受的答案复选标记
    【解决方案2】:

    我们遇到了同样的问题。结果发现 olingo 没有正确获取默认的 referencedColumnName,因此我们必须在所有关联中手动设置它。

    例如

    @ManyToOne(fetch=FetchType.LAZY)    
    @JoinColumn(name="AccountId")
    public Account account;
    

    变成

    @ManyToOne(fetch=FetchType.LAZY)    
    @JoinColumn(name="AccountId", referencedColumnName = "Id")
    public Account account;
    

    【讨论】:

    • 感谢您的帮助,但不幸的是,关联仍然不会显示。它们在 $metadata 中也不可见......你还有什么想法吗? ;)
    • 我们遇到的另一个问题是 olingo 给关系提供了奇怪的名称,因此我们不得不在 initializeODataJPAContext 中使用 ODataJPAContext.setDefaultNaming(false) 禁用 olingo 名称生成。除此之外,它对我们来说效果很好,所以我不能帮助更多的抱歉:(
    猜你喜欢
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 2016-02-04
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多