반응형

JPA/Hibernate 캐스케이드 유형 개요

1. 개요 이 예제에서는 JPA/Hibernate에서 캐스케이딩이 무엇인지 논의할 것입니다. 그런 다음 의미 체계와 함께 사용 가능한 다양한 캐스케이드 유형을 다룰 것입니다. 2. 캐스케이딩이란 무엇입니까? 엔터티 관계는 종종 다른 엔터티의 존재에 의존합니다(예: 사람 – 주소 관계). 포함하지 않는 사람 의 주소 개체 자체의 의미가 없습니다. Person 엔터티를 삭제하면 Address 엔터티도 삭제되어야 합니다. 캐스케이딩은 이를 달성하는 방법입니다. 대상 엔터티에 대해 일부 작업을 수행하면 연결된 엔터티에 동일한 작업이 적용됩니다. 2.1. JPA 캐스케이드 유형 모든 JPA 관련 캐스케이드 작업은 다음 항목을 포함 하는 javax.persistence.CascadeType 열거형으로 표시됩니다 ...

Spring 2021.09.15

Java에서 열거형 확장

1. 개요 열거 자바 5에 도입 유형, 상수의 그룹을 나타내는 특수 데이터 유형입니다. 열거형을 사용하여 유형 안전 방식으로 상수를 정의하고 사용할 수 있습니다. 상수에 대한 컴파일 타임 검사를 제공합니다. 또한 switch-case 문 에서 상수를 사용할 수 있습니다 . 이 예제에서는 예를 들어 새로운 상수 값과 새로운 기능을 추가하는 것과 같이 Java에서 열거형을 확장하는 것에 대해 논의할 것입니다. 2. 열거형과 상속 Java 클래스를 확장하려면 일반적으로 하위 클래스를 만듭니다. Java에서 열거형도 클래스입니다. 이 섹션에서는 일반 Java 클래스와 마찬가지로 열거형을 상속할 수 있는지 살펴보겠습니다. 2.1. 열거형 확장 먼저 문제를 빠르게 이해할 수 있도록 예제를 살펴보겠습니다. publi..

Spring 2021.09.15

Spring @Qualifier 어노테이션

1. 개요 이 예제에서는 @Qualifier 어노테이션이 우리에게 어떤 도움을 줄 수 있는지 , 어떤 문제를 해결하는지, 어떻게 사용하는지 살펴보겠습니다. 또한 @Primary 어노테이션과 이름으로 자동 연결 하는 것과 어떻게 다른지 설명합니다 . 2. 명확성을 위한 Autowire의 필요성 @Autowired 어노테이션은 명시 적으로 Spring에 의존성을 주입 할 필요가 만드는 좋은 방법입니다. 유용하기는 하지만 이 어노테이션만으로는 Spring이 주입할 빈을 이해하기에 충분하지 않은 사용 사례가 있습니다. 기본적으로 Spring은 유형별로 자동 연결된 항목을 해결합니다. 컨테이너에서 동일한 유형의 두 개 이상의 빈을 사용할 수 있는 경우 프레임워크는 NoUniqueBeanDefinitionExcep..

Javascript/React 2021.09.14

Java – "기본 클래스를 찾거나 로드할 수 없음" 오류

1. 개요 때때로 Java 프로그램을 실행할 때 "메인 클래스를 찾거나 로드할 수 없음"이 표시될 수 있습니다. 이유는 추측하기 쉽습니다. JVM이 기본 클래스를 찾지 못하고 이 오류가 발생했습니다. 하지만 왜 그럴 수 없었습니까? 이 사용방법(예제)에서는 기본 클래스를 찾지 못하는 가능한 이유에 대해 설명합니다. 우리는 또한 그것들을 수정하는 방법을 볼 것입니다. 2. 샘플 프로그램 HelloWorld 프로그램으로 시작하겠습니다 . public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world..!!!"); } } 이제 컴파일해 보겠습니다. $ javac HelloWorld.java 여기에..

Spring 2021.09.14

Flyway를 사용한 데이터베이스 마이그레이션

1. 소개 이 사용방법(예제)에서는 Flyway의 주요 개념 과 이 프레임워크를 사용하여 애플리케이션의 데이터베이스 스키마를 안정적이고 쉽게 지속적으로 리모델링하는 방법을 살펴봅니다. 또한 Maven Flyway 플러그인을 사용하여 인메모리 H2 데이터베이스를 관리하는 예를 제시합니다. Flyway는 마이그레이션을 사용하여 한 버전에서 다음 버전으로 데이터베이스를 업데이트합니다. 데이터베이스별 구문을 사용하여 SQL로 마이그레이션을 작성하거나 고급 데이터베이스 변환을 위해 Java로 마이그레이션을 작성할 수 있습니다. 마이그레이션은 버전을 지정하거나 반복할 수 있습니다. 전자는 고유한 버전이 있으며 정확히 한 번만 적용됩니다. 후자는 버전이 없습니다. 대신 체크섬이 변경될 때마다 (재)적용됩니다. 단일 ..

Spring 2021.09.14

Spring @Qualifier 어노테이션

1. 개요 이 예제에서는 @Qualifier 어노테이션이 우리에게 어떤 도움을 줄 수 있는지 , 어떤 문제를 해결하는지, 어떻게 사용하는지 살펴보겠습니다. 또한 @Primary 어노테이션과 이름으로 자동 연결 하는 것과 어떻게 다른지 설명합니다 . 2. 명확성을 위한 Autowire의 필요성 @Autowired 어노테이션은 명시 적으로 Spring에 의존성을 주입 할 필요가 만드는 좋은 방법입니다. 유용하기는 하지만 이 어노테이션만으로는 Spring이 주입할 빈을 이해하기에 충분하지 않은 사용 사례가 있습니다. 기본적으로 Spring은 유형별로 자동 연결된 항목을 해결합니다. 컨테이너에서 동일한 유형의 두 개 이상의 빈을 사용할 수 있는 경우 프레임워크는 NoUniqueBeanDefinitionExcep..

Spring 2021.09.14

로그백 사용방법(예제)

1. 개요 Logback 은 Java 커뮤니티에서 가장 널리 사용되는 로깅 프레임워크 중 하나입니다. 그것은이다 그것의 전임자, Log4j를 교체. Logback은 더 빠른 구현을 제공하고 구성을 위한 더 많은 옵션을 제공하며 오래된 로그 파일을 보관할 때 더 많은 유연성을 제공합니다. 이 예제에서는 Logback의 아키텍처를 소개하고 이를 사용하여 애플리케이션을 개선하는 방법을 살펴보겠습니다. 2. 로그백 아키텍처 Logback 아키텍처는 Logger , Appender 및 Layout 의 세 가지 클래스로 구성 됩니다. 로거는 로그 메시지에 대한 컨텍스트입니다. 애플리케이션이 로그 메시지를 생성하기 위해 상호 작용하는 클래스입니다. Appender 는 최종 목적지에 로그 메시지를 배치합니다. 로거 개..

Spring 2021.09.14

Cron 표현식 사용방법(예제)

1. 개요 간단히 말해 cron은 Unix 기반 시스템에서 사용할 수 있는 기본 유틸리티입니다. 사용자가 지정된 날짜/시간에 주기적으로 작업을 실행하도록 예약할 수 있습니다. 그리고 당연히 사람의 개입이 필요한 많은 프로세스 실행을 자동화하기 위한 훌륭한 도구입니다. Cron은 데몬 프로세스로 실행됩니다. 즉, 한 번만 시작하면 백그라운드에서 계속 실행됩니다. 이 프로세스는 crontab 을 사용 하여 일정 항목을 읽고 작업을 시작합니다. 시간이 지남에 따라 cron 표현 형식이 널리 채택되었고 다른 많은 프로그램과 라이브러리에서 이를 사용합니다. 2. 크론탭으로 작업 하기 크론 일정은 아래에있는 간단한 텍스트 파일 / var / spool / cron / crontabs 디렉토리 Linux 시스템에서...

Spring 2021.09.14

Java의 "Sneaky throws"

1. 개요 Java에서 sn eaky throw 개념을 사용하면 메서드 서명에서 명시적으로 정의하지 않고도 검사된 예외를 throw할 수 있습니다. 이렇게 하면 throw 선언을 생략할 수 있으므로 런타임 예외의 특성을 효과적으로 모방할 수 있습니다. 이 기사에서는 몇 가지 코드 예제를 살펴Spring으로써 이것이 실제로 어떻게 수행되는지 볼 것입니다. 2. 몰래 던지기 정보 확인된 예외는 JVM이 아니라 Java의 일부입니다. 바이트코드에서 우리는 제한 없이 어디에서나 예외를 던질 수 있습니다. Java 8은 throw T 가 허용될 때마다 RuntimeException 으로 유추 된다는 새로운 유형 유추 규칙을 가져왔습니다 . 이것은 도우미 메서드 없이 교활한 던지기를 구현할 수 있는 기능을 제공합니..

Spring 2021.09.14

Java의 유형 삭제 설명

1. 개요 이 빠른 기사에서는 유형 삭제로 알려진 Java 제네릭의 중요한 메커니즘에 대한 기본 사항에 대해 설명합니다. 2. 유형 삭제란 무엇입니까? 타입 삭제는 컴파일 타임 에만 타입 제약을 가하고 런타임에 요소 타입 정보를 버리는 과정으로 설명할 수 있습니다 . 예를 들어: public static boolean containsElement(E [] elements, E element){ for (E e : elements){ if(e.equals(element)){ return true; } } return false; } 컴파일러는 바인딩되지 않은 유형 E 를 실제 유형의 Object로 바꿉니다 . public static boolean containsElement(Object [] elemen..

Spring 2021.09.14
반응형