[ https://issues.apache.org/jira/browse/DBUTILS-34?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julien Aymé updated DBUTILS-34: ------------------------------- Attachment: BasicRowProcessor.java BasicRowProcessor.patch Hello, I had the same problem as yours, and I fixed it with an implementation of my own of the CaseInsensitiveHashMap: Instead of converting the key to lower case before putting it into the map, I chose to keep the key as it was given, and maintain an internal mapping from lower case keys to real keys. I join the whole BasicRowProcessor class, and the patch. (Some of the comments can be removed, it's just for the clarity of the code). > BasicRowProcessor loses any information on database field case > -------------------------------------------------------------- > > Key: DBUTILS-34 > URL: https://issues.apache.org/jira/browse/DBUTILS-34 > Project: Commons DbUtils > Issue Type: Improvement > Affects Versions: 1.0 > Reporter: Fabio Insaccanebbia > Priority: Minor > Attachments: BasicRowProcessor.java, BasicRowProcessor.patch > > > In the BasicRowProcessor class there is a comment about the toMap method: > " This implementation returns a <code>Map</code> with case insensitive > column names as keys. Calls to map.get("COL") and map.get("col") return the > same value" > So the "contract" of this method just says that the "get" method is case > insensitive. The current implementation obtains this result by putting all > the keys in lowercase. This way we simply "lose" every information about the > case of the fields. If you call the "keys" iterator, you don't have anymore > the keys you inserted, but the "lowercase" version. > I find it not completely correct: I would expect the keys to be exactly the > ones I set on the database, also if I can get the value in a case insensitive > way. > I still have to find the idea for a pathc, but I'd like to know if you find > my reasoning correct. > I consider the current behaviour a problem, since I had to map the database > fields to a bean and the "case" made it impossible, even if I had set my > database to return mixed case fieldnames. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]