Direct JDBC use can lead to complex and unmaintainable code.
In large applications, directly using JDBC can scatter SQL logic across the codebase, making it difficult to maintain and test. This results in tight coupling between the database layer and business logic. For instance, without abstraction, modifying a database query requires changes in multiple places, increasing the risk of errors.
Additional Notes
Why might directly using JDBC in large applications be challenging?