Initially , when java was introduced, it has only Java API to develope Stand Alone Application. Latter , a group of APIs are released under the name J2EE for developing distributed application in Java. Industry developers are faced , some problems, while creating the project using Java and J2EE APIs :-
- In JDBC application, we create SQL queries FOR database operations, but sql queries are database dependent. So, the persistent logic of JDBC is a database dependent.
- JDBC exceptions are checked exceptions. In a project , whenever we write the jdbc code , we need to put the code in a try and catch blocks. So, jdbc increases the burden on the programmers.
- In jdbc, we use ResultSet object to store the data selected from database. We have an alternate called RowSet, but all jdbc drivers does not supports RowSet object.
- If database table structure is modified after developing the jdbc project then that project does not execute. We need to modify the queries/Sql queries according to the new structured of the table in the entire project. It increases burden on programmer and also it is a time consuming proecess/work.
- Presentation Layer.
- Business Layer or Service Layer.
- Persistence Layer or DAO Layer.