【问题标题】:DynamicJasper and OneToManyDynamicJasper 和 OneToMany
【发布时间】:2017-05-07 12:37:18
【问题描述】:

我有两个属于 OneToMany 关系的类: 拉格和供应商。

所以当我有对象列表时,我也有对象,并且使用标准 java 我可以访问对象的字段。

当我这样做时

AbstractColumn columnName = ColumnBuilder.getNew()
                .setColumnProperty("name", String.class.getName())
                .setTitle("Name").setWidth(85)
                .build();

我得到了很好的结果,但是当我这样做时

AbstractColumn sellerColumn = ColumnBuilder.getNew()
                .setColumnProperty("seller" ,Seller.class.getName() )
                .setTitle("seller").setWidth(85).build();

我只是得到了我的卖家对象的 toString 方法,所以我的问题是当我创建我的 DynamicJasper 列时如何访问卖家的字段

所以我现在添加了一张更好的图片

 @OneToMany(mappedBy ="seller", cascade = CascadeType.REMOVE,fetch=FetchType.LAZY)
public List<Lager> getLager() {
    return lager;
}

  @ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name = "seller_id")
public Seller getSeller() {
    return seller.get();
}

这是这两个对象之间的关系,我怎么能只显示我的卖家对象的名称,而不是整个 toString 方法。

【问题讨论】:

  • 任何想法,我很绝望,我检查了所有示例,但没有找到如何解决这个问题的指导方针

标签: javafx dynamic-jasper


【解决方案1】:

最后我找到了一种方法,我改变了以下方法:

AbstractColumn sellerColumn = ColumnBuilder.getNew()
            .setColumnProperty("seller" ,Seller.class.getName() )
            .setTitle("seller").setWidth(85).build();

AbstractColumn sellerColumn = ColumnBuilder.getNew()
            .setColumnProperty("seller.seller_name" ,Seller.class.getName() )
            .setTitle("seller").setWidth(85).build();

在一切正常之后,问题是,我确实尝试过这个,但由于某种原因我的页面没有正确加载,当我清理并构建它时,它工作得完美无缺。

请注意,seller.seller_name 是:

seller = my pojo class 

seller_name 

= 我的字段包含 getter 和 setter。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    相关资源
    最近更新 更多