我想按照数据库表的列顺序从表中检索数据。
假设我的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。
感谢任何帮助。