본문 바로가기
728x90

IT 개발/JPA5

[JPA] Boolean 값을 Y, N 값으로 사용하기 - 4 @Converterpublic class BooleanToTrueFalseConverter implements AttributeConverter { @Override public String convertToDatabaseColumn(Boolean attribute) { return attribute != null ? attribute.toString() : null; } @Override public Boolean convertToEntityAttribute(String dbData) { return dbData != null ? Boolean.valueOf(dbData) : null; }}전체 엔티티에 Boolean to Y/N 변환을 적용하면.. 2024. 9. 4.
[JPA] Boolean 값을 Y, N 값으로 사용하기 - 3 JPA에서 기본적으로 제공하는 어노테이션을 사용하여 특정 컬럼의 변환을 제외할 수 있습니다. 이 방법은 추가적인 커스텀 코드 없이도 간단하게 구현할 수 있어 매우 유용합니다.JPA에서 제공하는 @Column 어노테이션의 columnDefinition 속성을 사용하면 됩니다. 이 방법을 사용하면 데이터베이스 컬럼의 타입을 직접 지정할 수 있어, 자동 변환을 우회할 수 있습니다.다음과 같이 사용할 수 있습니다:import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;@Entitypublic class SomeEntity { @Id private Long id; private Boolea.. 2024. 9. 4.
[JPA] Boolean 값을 Y, N 값으로 사용하기 - 2 전체 엔티티에 Boolean to Y/N 변환을 적용하는 방법에 대해 설명해 드리겠습니다. 이를 위해 JPA의 글로벌 컨버터 설정을 사용할 수 있습니다.먼저, 기존의 BooleanToYNConverter 클래스를 약간 수정하여 글로벌 컨버터로 만들겠습니다:import javax.persistence.AttributeConverter;import javax.persistence.Converter;@Converter(autoApply = true)public class BooleanToYNConverter implements AttributeConverter { @Override public String convertToDatabaseColumn(Boolean attribute) { .. 2024. 9. 4.
[JPA] Boolean 값을 Y, N 값으로 사용하기 - 1 JPA에서 Boolean 값을 Y와 N으로 변환하여 데이터베이스에 저장하고 다시 불러올 때 Boolean으로 변환하는 방법을 설명해 드리겠습니다. 이를 위해 JPA 컨버터(Converter)를 사용할 수 있습니다.다음과 같이 컨버터를 구현할 수 있습니다:import javax.persistence.AttributeConverter;import javax.persistence.Converter;@Converterpublic class BooleanToYNConverter implements AttributeConverter { @Override public String convertToDatabaseColumn(Boolean attribute) { return (attribute !.. 2024. 9. 4.
[JPA] JPA로 데이터 삭제시 삭제 여부 컬럼 이용 방법 JPA에서 Soft Delete를 적용하는 방법에 대해 설명해드리겠습니다. Soft Delete는 데이터를 실제로 삭제하지 않고 삭제된 것처럼 표시하는 방식입니다.일반적인 적용 방법은 다음과 같습니다:엔티티에 삭제 여부를 나타내는 필드 추가: @Entity public class MyEntity { // 기존 필드들... @Column(name = "is_deleted") private boolean deleted = false; }쿼리 메소드나 JPQL에서 삭제되지 않은 엔티티만 조회:public interface MyRepository extends JpaRepositoryMyEntity, Long> { ListMyEntity> findByDeletedFalse(); }삭제 메소드 오버라이드.. 2024. 9. 4.
728x90