hibernate映射动态表名的一个例子

来源:互联网 发布:gta5美女捏脸数据明星 编辑:程序博客网 时间:2024/04/30 00:54

user1,   user2,   user3,   ......,这些表的表结构是相同或类似的
user1,   user2,   user3各表对应hibernate生成的映射文件分别为Users_1.java,Users2.java,Users3.java,AbstractUsers1,AbstractUsers2,AbstractUsers3;
首先写一个接口UserInterface,里面包括AbstractUsers1,AbstractUsers2,AbstractUsers3中的所有的方法,AbstractUsers1,AbstractUsers2,AbstractUsers3每个java类都继承这个接口。

            StringBuffer sql = new StringBuffer();
            //这里需要动态拼出你的SQL
            sql.append("from Users").append(currentUniverse).append(" a");
            sql.append(" where a.mwg=").append(mwg);
            sql.append(" and a.debris>").append(debris);
            sql.append(" and a.createDate='").append(lastScanDate).append("'");
            session = HibernateSessionFactory.currentSession();
            Query query = session
                    .createQuery(sql.toString());
 
            Iterator it = query.list().iterator();
            while (it.hasNext())
            {
                   UserInterface us = (UserInterface)it.next();
                   .
            }

以上情况只是一种比较特殊的情况,这里仅提供一种解决思路