Thanks Bill for the reply and the link. It might take some time to understand the content of the link since I am new to hibernate.
But one more question, In which condition we should implement Serializable and in which condition it's ok not to implement ?
Some examples of when serializing would be required is if you are storing detached entities in an HTTP session, passing it over the wire or perhaps you have a multi node cluster. If not you could get away without it but as I said your really should just make them serializable as these types of situations are commonplace and its recommended by the spec that you do so.
So my advice is rather than spending too much time determining if it is strictly required in your case just do it
I do think it worthwhile to understand the concept of serialization and why its necessary, but that question would be more appropriate for the Java in General forum.