Thilothama, The best place is in a property file because the SQL can change independently of the code to some extent. For example, the schema name could change.
If you are sure the SQL will not change after deployment, an interface is next best. The interface should only contain constants and be referenced as MyInterface.QUERY_NAME rather than implementing the interface.
The other choice is to store the queries in the class that does the data processing. This keeps the query with the parameter setting and result set processing code.