Skip to content

TableColumns

This annotation is useful to indicate the columns of a table and which order those columns have in that table. It is particularly useful for those method which have to handling queries, for example the BatchQuery methods

Usage

BatchQuery<Simple> batchQuery = new BatchQuery<>() {

    @Override
    @TableColumns(columns = {"id", "simple", "week"})
    public void prepareQuery(Query query, int index, Collection<Simple> items) {
        for (Simple item : items) {
            query.setParameter(index++, item.getId());
            query.setParameter(index++, item.getSimple());
            query.setParameter(index++, item.getWeek());
        }
    }

    @Override
    @TableColumns(columns = {"id", "simple", "week"})
    public String[] getColumns() {
        return new String[]{"id", "simple", "week"};
    }
};
val batchQuery: BatchQuery<Simple> = object : BatchQuery<Simple> {

    @TableColumns(columns = ["id", "simple", "week"])
    override fun prepareQuery(query: Query, index: Int, items: Collection<Simple>) {
        var idx = index
        for (item in items) {
            query.setParameter(idx++, item.id)
            query.setParameter(idx++, item.simple)
            query.setParameter(idx++, item.week)
        }
    }

    @TableColumns(columns = ["id", "simple", "week"])
    override fun getColumns(): Array<String> {
        return arrayOf("id", "simple", "week")
    }
}