मैं अपने वसंत 4.1.4 एप्लिकेशन में नवीनतम एहैचे का उपयोग कर रहा हूं। क्या मेरे पास है:सूचियों के साथ स्प्रिंग @ कैशेबल विधियां
class Contact{
int id;
int revision;
}
@Cacheable("contacts")
public List<Contact> getContactList(List<Integer> contactIdList) {
return namedJdbc.queryForList("select * from contact where id in (:idlist)", Collections.singletonMap("idlist", contactIdList));
}
@CachePut(value="contact", key = "id")
public void updateContact(Contact toUpdate) {
jdbctemplate.update("update contact set revision = ? where id = ?", contact.getRevision(), contact.getId());
}
क्या मैं हासिल करना चाहते हैं कि संपर्कों कैश में जमा हो जाती है, है, और जब मैं getContactList
विधि फिर से फोन कर रहा हूँ, कि सभी संपर्क जिसका id
पहले से ही कैश किया गया है से प्राप्त किए गए हैं कैश और अन्य लोगों को सामान्य रूप से पूछताछ की जानी चाहिए और फिर कैश किया जाना चाहिए। इस कैश को कैश किए गए संपर्क इकाई को अद्यतन होने पर अद्यतन करना चाहिए।
मैं सादा वसंत जेडीबीसी और एहचेचे, कोई जेपीए और कोई हाइबरनेट का उपयोग नहीं कर रहा हूं।