We are integrating, BPM and ADF. For the human taskflow we are generating the ADF taskflow. Now problem is when we need to do even a single customization debugging is so complex and time consuming we need time 1-2 days even to fix simple issues which we can fix in ADF in 2-3 hours.
Is there any of doing hot deployment in BPM/ADF, it can save a lot of time in deployment.
I'm not clear where your problem is, but a nice way to manage your BPM and ADF projects is to make them separate JDeveloper applications. That way if you need to change something in ADF, you change just the ADF application and redeploy just that - the BPM/SOA application remains unaffected.
Similarly, this if you change the BPM/SOA application you can redeploy it too without affecting the ADF application.
Just make sure your ADF application human taskflow is registered correctly in Enterprise Manager. Enterprise manager > SOA > Right-click soa-infra > Service Engines > Human Workflow > (your human task) > Administration. You'll need to have an entry here that points to your deployed ADF application. Though this will already be registered for you (most times!) when you to the deployment. This needs to be done for all your human tasks.
Some tutorials use SOA/BPM project and ADF projects in the same JDeveloper application. I find it easier to have the ADF project and the BPM/SOA project in different applications for maintenance purpose and to keep things simple. Splitting out and application out should be relatively straight forward. Just copy the application to another location and delete the projects that you no longer want in the application.