The answer I'm giving has nothing to do w/ caching vs not caching.
It is simply one of the golden rules of Liferay - do not access the database directly, always use the Liferay API.
Whether it's a caching issue, an indexing issue, some sort of database upgrade issue, doesn't really matter. Any time you access the database directly you break the Liferay API contract, and when you break the contract you're bound to have issues. Right now you know about the caching thing because that's as far as you've gotten, but there could be many other things that are potentially not working that you haven't stumbled upon yet.
We're not saying "don't disable the cache" or not providing the info because we're trying to hide anything. We're saying that, from our experience, any time you hit the database directly things just don't work the way you'd expect, and therefore it should be avoided.
Liferay provides a full web service for many of their APIs, and you can use the client jar to leverage those calls. Most of the heavy lifting has already been done, you just have the integration stuff to worry about.
不適当であることを指摘する場合は、ログインしてください。