表sales_2009 sales_2008 sales_2007
而且只有一个类(销售),如何在运行时更改表?
如何在运行时更改表?
标准 JPA 不支持开箱即用。但是实现可能会为水平分区提供扩展:
关于 Slice 的成熟度,我无话可说。
另一种解决方案是定义三个不同的持久性单元并Sales
在每个单元中专门映射实体(可能使用 XML 映射来重用 Java 代码)。然后,EntityManager
从适当的EntityManagerFactory
. 但是,从内存的角度来看,这种解决方案并不理想(加上一些其他限制)。
谢谢回复,我解决了iBATIS
在文件映射 (xml)
select * from $table$ where date = #date# and product_id = #product_id#
*在文件 Java 中 - 使用 Servlet 的示例:-
Map parameter = new HashMap();
parameter.put("table", "sales2009");
parameter.put("date", "2009-10-08"); //MySQL date :)
parameter.put("product_id",17);
SqlMapClient sqlMap = (SqlMapClient) getServletContext().getAttribute("sqlMap");
List result = sqlMap.queryForList("selectSalesByParameters",parameter);
for(Sales s : result) { }
重要提示: $table$ != #table
不工作。