网上一堆直接修改treeMap为LinkedHashMap就可以了
我试了一下,发现不行,然后发现他们都是3.X版本的(经过我看5.X的源码,我严重怀疑网上这个方法其实也不行的)
我的是5.X版本的
然后我就去看了源码,发现这不怪hibernate
因为hibernate使用反射机制,而反射机制取得的顺序是无序的
(无序的原因是这,而不是hibernate无序,可能hibernate知道没法解决,所以干脆直接使用无序的treeMap,其实treeMap是有序的,根据字母排序,网上说无序是扯淡吧,百度的东西真不可靠)
解决方法应该也是有的,只不过我不想这样做,所以没试!
下面就讲一下我的思路:
给实体类的字段添加排序用的注解
然后重写org.hibernate.cfg.PropertyContainer,在通过反射取得字段字后,再根据注解排序
代价太大,我放弃了!等我要看数据库表,在用工具排序吧。。