本文主要是介绍hibernate映射动态表名的一个例子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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();
.
}
以上情况只是一种比较特殊的情况,这里仅提供一种解决思路
这篇关于hibernate映射动态表名的一个例子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!