0
嗨在我的應用程序中,我有幾個小表,我緩存他們全部在服務器啓動一個地圖。我想Ecache來實現相同的功能+ hibernate的組合與Echache +休眠緩存
我的課看起來像
@Entity
@Table(name = "Order")
@NamedQueries
({
@NamedQuery(name="Order.findBySource",
query="from Order a where a.source = :source"),
@NamedQuery(name="Order.findByAll",
query="from Order"),
@NamedQuery(name="Order.findByPrioritySource",
query="from Order a where a.priority = :priority and a.source = :source"),
@NamedQuery(name="Order.findByPriority",
query="from Order a where a.priority = :priority"),
@NamedQuery(name="Order.findByWhenModified",
query="from Order a where a.whenModified = :whenModified")
})
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Order implements java.io.Serializable {
private String source;
private long priority;
private Date whenModified;
}
這個順序表幾乎沒有10個條目,我想保留此表中存儲所有的時間。 任何見解我如何實現這一目標?
我啓動上述命名查詢來獲取訂單。我不想一次又一次地去DB,當我在這個ecache.xml中啓動這個查詢時,我需要輸入這個類嗎?或者我需要在ecache.xml中緩存這些命名的查詢?
是否有可能通過Ehcache複製Map實現。這樣我就可以通過指定緩存中的ID而不必再次敲擊數據庫來獲取對象?
另見http://ehcache.org/documentation/hibernate.html的正確配置緩存使用查詢。在閱讀本文檔之前,我有一些問題。 – jbrookover 2011-06-04 13:29:09