[java] Hibernate와 JDBC의 차이

Hibernate와 JDBC는 모두 Java 언어로 데이터베이스와 상호 작용하는 데 사용되는 기술입니다. 하지만 두 기술은 다른 방식으로 동작하며 각각의 장단점이 있습니다.

JDBC (Java Database Connectivity)

JDBC는 Java에서 데이터베이스에 연결하고 데이터를 관리하기 위한 API입니다. 개발자는 JDBC를 사용하여 데이터베이스에 쿼리를 수행하고 결과를 처리할 수 있습니다. JDBC는 직접 SQL 쿼리를 작성하여 데이터베이스와 상호 작용합니다.

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
while(rs.next()) {
    // process the result
}

Hibernate

Hibernate는 객체 관계 매핑 (ORM) 프레임워크로, Java 객체와 데이터베이스 테이블 간의 매핑을 처리합니다. Hibernate를 사용하면 SQL 쿼리를 직접 작성할 필요가 없으며, 객체 지향적인 방식으로 데이터베이스와 상호 작용할 수 있습니다.

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String username;
    private String password;
    // other properties and methods
}

// Hibernate query
List<User> users = session.createQuery("FROM User").list();

차이점

두 기술은 각각의 상황에 맞게 사용되며, JDBC는 데이터베이스와 직접적으로 상호 작용해야 하는 경우에 유용하며, Hibernate는 객체 지향적인 설계에 적합합니다.

참고 문헌: