We are planning to use DD4T using java for some POC. Just wanted to know how DD4T consumes odata service?
Do we need any wrapper while using DD4T with java.
I assume you know DD4T for Java is an MVC application (Spring MVC). It uses factories to read Tridion content and metadata and to transform it into DD4T class model. The factories work with different providers, which actually read the content/metadata from the Content Delivery database.
One of such providers would be the OData provider. Now funny enough, there is no official OData provider for DD4T and you would have to write one yourself (it's not too difficult), or use an unofficial one (I heard there are some floating around this thing called "Internet").
If you choose to write one yourself, simply start by implementing the provider interfaces for pages, binaries and links. Please do make use of heavy caching (e.g. EHCache will do wonders). Also, think about using your home made JAX-RS services (& client) to write your own providers which talk directly to the CD API (so no OData in this case).
Fun work anyway, good luck!
Why would you want to do this? In general, running on the API directly improves performance because you lose network latency, unnecessary (de)serialization and improved cachability.