[java] 자바에서 데이터베이스에 제약 조건 추가하기

SQL 문을 이용한 제약 조건 추가

SQL을 사용하여 데이터베이스 테이블에 제약 조건을 추가할 수 있습니다. 예를 들어, ALTER TABLE 문을 사용하여 테이블의 제약 조건을 변경하거나 추가할 수 있습니다. 아래는 자바 코드에서 JDBC를 사용하여 SQL을 실행하여 제약 조건을 추가하는 예제입니다.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Main {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydb";
        String username = "user";
        String password = "password";
        
        try (Connection connection = DriverManager.getConnection(url, username, password)) {
            Statement statement = connection.createStatement();
            String sql = "ALTER TABLE employees ADD CONSTRAINT unique_email UNIQUE (email)";
            statement.executeUpdate(sql);
            System.out.println("제약 조건 추가 완료");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

ORM 라이브러리를 이용한 제약 조건 추가

ORM 라이브러리를 사용하면 객체지향 프로그래밍에서 데이터베이스를 쉽게 다룰 수 있습니다. 대표적으로 Hibernate, JPA 등의 라이브러리가 있습니다. 이러한 라이브러리를 사용하면 자바 어플리케이션에서 객체를 데이터베이스 레코드로 매핑하고 제약 조건을 정의할 수 있습니다.

import javax.persistence.*;

@Entity
@Table(name = "employees")
public class Employee {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    
    @Column(unique = true)
    private String email;
    
    // 다른 필드들 및 메서드들
}

위 코드에서 @Column(unique = true)를 사용하여 email 필드에 고유 제약 조건을 추가했습니다.

참고 자료