MySQL テーブルには 3 つの列があり、2 つは INT で、1 つは VARCHAR です。
クラス キャスト例外が発生しています: java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできません。私のコードは次のとおりです。
List<Map<String, Object>> rows = getJdbcTemplate().queryForList(sql);
for (Map row : rows) {
Customer customer = new Customer();
// throws ClassCastException
// customer.setCustId((Integer)(row.get("CUST_ID")));
customer.setCustId((Long)(row.get("CUST_ID"))); // had to change custId field in bean to long
customer.setName((String)row.get("NAME"));
// work around
customer.setAge(((Long)row.get("AGE")).intValue());
customers.add(customer);
}
私の質問は、なぜそれをロングにキャストする必要があるのですか? MySQL の最大許容 INT 値と Java の最大許容 int 値が同じではないためですか?