get activejdbc中表的列顺序

91zkwejq  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(321)

有没有办法按照activejdbc中数据库中定义的顺序获取表中的列?我试过这个:

User u = new User(); // User extends org.javalite.activejdbc.Model
    Map<String, ColumnMetadata> columns = u.getMetaModel().getColumnMetadata();

但是,返回的Map具有按字母顺序排列的列,而不是表中定义的顺序。
如果这很重要的话,我正在使用mysql。

ppcbkaq5

ppcbkaq51#

它使用标准的jdbc元数据调用,请参见:registry#getcolumns。
但是,这是从jdbc驱动程序返回的,它被添加到 Map 在密码里。如你所知,Map是不以任何方式排序的。不确定为什么需要按数据库中定义的顺序获取列,或者这是否可行。
如果您真的想这样做,可以降低到db级别:

Connection con = Base.connection(); 
// get metadata from the connection any way you want

这样,你就可以得到司机能提供的任何东西(你的里程数将受到司机实施的限制)

相关问题