看不到按照数据库表的列顺序从表中检索数据

时间:2015-03-25 07:27:10

标签: mysql hibernate sqlite

我想按照数据库表的列顺序从表中检索数据。

假设我的SQL查询是

String sql_string =  "select * "
                + "from CUSTOMER_INFO " 
                + "order by customer_last_name, customer_first_name";

Session session = factory.openSession();
Transaction tx = session.beginTransaction();
List<Map<String,Object>>  results =  session.createSQLQuery(sql_string)
    .setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE)
    .list();        

在数据库中,表格的列顺序类似于A,B,C,D。 但是当我检索数据并迭代它时,entrySet就像C,A,D,B。 (整数,浮点,浮点,字符串)

我认为正在根据数据类型检索数据。

我需要检索的entrySet的顺序与数据库表中的顺序相同。

我也尝试在select查询中指定列名,这是没用的。

CUSTOMER_INFO 是通过hibernate映射到sqllite的模型类。

@Entity
@Table(name = "CUSTOMER_INFO")
public class CustomerInfo{
   @Column
    private int C;
    @Column
    private float A;
    @Column
    private String B;
    @Column
    private float D;

//getters and setters
}

使用Sqllite 3.6,hibernate,JSP。

感谢任何帮助。

0 个答案:

没有答案