We use a combination of Oracle GoldenGate and the Java Persistence API (JPA) to do this with Oracle database, but also with DB2, Sybase, Microsoft SQL Server, MySQL, Teradata, etc. The feature is described here: http://docs.oracle.com/middleware/1212/coherence/COHIG/golden_g.htm
What GoldenGate does is turn the database transaction log into a filterable event stream that can be consumed anywhere across the network. We use it to turn relevant transactions into either cache updates or cache invalidations, both of which can trigger application-level events, e.g. pushing the data all the way out to desktop or HTML5 websocket applications.
(For full disclosure, I work at Oracle on one of the products using GoldenGate.)