是否有一种方法可以按照在activejdbc中数据库中定义的顺序获取表中的列?我尝试过:
User u = new User(); // User extends org.javalite.activejdbc.Model
Map<String, ColumnMetadata> columns = u.getMetaModel().getColumnMetadata();
但是,返回的地图具有按字母顺序排列的列,而不是表中定义的顺序。
如果这很重要,我正在使用MySQL。
答案 0 :(得分:0)
它使用标准的JDBC元数据调用,请在此处查看:Registry#getColumns。
但是,这是从JDBC驱动程序返回的,但已将其添加到代码中的Map
中。如您所知,地图不以任何方式排序。不知道为什么您需要按与数据库中定义的顺序相同的顺序获取列,或者甚至是否有可能。
如果您真的想要此功能,则可以降至数据库级别:
Connection con = Base.connection();
// get metadata from the connection any way you want
这样,您可以获得任何驾驶员可以提供的(您的里程将受到驾驶员实施的限制)