我有一些带有id和描述性数据的表。在附加表中,引用了这些表。
Table A
id int (key)
name string
description string
Table B
id int (key)
name string
description string
Table mix
id_A FK(id tableA)
id_B FK(id tableB)
如果我现在为混合表创建一个数据表
web mvc datatables add --type ~.web.mixController
显示表A和B的所有字段(名称和描述)。
1)如何更改只显示名称?
2)似乎对参考列的过滤不起作用?我得到一个例外: org.gvnix.web.datatables.util.DatatablesUtils - 为实体准备过滤器的异常
答案 0 :(得分:1)
修改实体表示的最简单方法是自定义其toString
方法。默认情况下,Spring Roo使用Apache Commons实用程序将其生成为模板,该实用程序使用反射生成表示字符串。此方法由@RooToString
注释生成,您可以在{entityClass}_Roo_ToString.aj
文件中找到它。要自定义 push-in (请参阅Spring Roo documentation about it)方法。
关于错误,当我评论您的问题时,我们需要更多信息来确定问题。请复制一些堆栈跟踪线。
此致 CHEMA。
答案 1 :(得分:0)
在深入了解控制器的源代码后,我意识到控制器通过方法datatablesUtilsBean_dtt.populateDataSet将数据检索到数据表,并使用自动连接属性conversionService注释。
因此,为了更改显示字段的值,必须在转换器方法中修改控制器类ApplicationConversionServiceFactoryBean,例如:
isset
其中Mix是转换为字符串的表,此方法的返回值是实体的String表示形式。 你可以改变你的方法,只显示名称:
getMixToStringConverter()