DynamicJasper和OneToMany

时间:2017-05-07 12:37:18

标签: javafx dynamic-jasper

我有两个属于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();

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

example

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

 @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方法。

1 个答案:

答案 0 :(得分:0)

最后我发现了一种方法,我改变了以下方法:

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。