Ok, let me put this way
in JDBC we have setAutoCommit( false ) , and all dmls are independent transactions
and when any transaction fails then the session not allowing next transactions
in Java when we do setAutoCommit( false ) its behaving like all transactions in BEGIN-END block, this is not expected behavior
i guess this is bug