Привет, в моем приложении у меня есть несколько небольших таблиц, и я кеширую их все при запуске сервера на карте.Я хочу реализовать ту же функциональность с помощью комбинации Ecache + hibernate
мой класс выглядит как
@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 записей, и я хочу постоянно хранить эту таблицу в памяти.Любые идеи, как я могу достичь этого?
Я запускаю вышеупомянутые запросы для получения заказов.Я не хочу заходить в БД снова и снова, когда запускаю этот запрос, поэтому для этого в ecache.xml мне нужно сделать запись этого класса?или мне нужно кэшировать эти именованные запросы в ecache.xml?
возможно ли воспроизвести реализацию Map с помощью Ehcache.чтобы я мог получить объект, просто указав идентификатор из кэша, не обращаясь к БД снова и снова?