更改数据表中显示的列以供参考字段

时间:2015-03-25 12:34:20

标签: spring-roo gvnix

我有一些带有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 - 为实体准备过滤器的异常

2 个答案:

答案 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()