좋아요. 그래서 나는 최대 절전 모드로 전환되었습니다. 질문은 중복 된 값을 추가하는 것을 피하면서 다단계 다단계에 관한 것입니다. 그래서 나는이 예를 따른다. tutorialspoint hibernate many to many mappingHibernate Cascade many to many는 자식 참조에 중복을 생성합니다.
문제는 그 프로그램을 실행하면 두 번이 인증서 테이블에 중복 값을 추가하는이입니다.
값을 employee 테이블에 삽입 한 후. 인증서 테이블에 폭포와 삽입 값 :이 예는 동일한 작업을 수행합니다 두 번째를 실행 한 후
id certificate_name
1 PMP
2 MBA
3 MCA
.
id certificate_name
1 PMP
2 MBA
3 MCA
4 PMP
5 MBA
6 MCA
그러나 인증서 테이블에는 dublicate 값이 있습니다. 값 4 ~ 6은 1-3과 같습니다.
나는 테이블 인증서의 고유 제한 조건을 추가했지만, 나는이 오류 얻을 :ERROR: Duplicate entry 'PMP' for key 'certificate_name_UNIQUE'
어떻게 내가 그들을 복제 할 수 없습니다 값을 삽입 할 수 있습니다. 이를 피할 수 있습니까? 아니면이를 수행하는 데 다른 기술을 사용해야합니까?
jar를 사용하려면 필요에 따라 pom.xml을 추가하십시오.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>testHibernateCascade2</groupId>
<artifactId>testHibernateCascade2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.6.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
</dependencies>
</project>
자세한 내용을 보려면 엔티티 세부 정보와 엔티티 저장 방법 코드를 추가하십시오. – Chaitanya
예제의 메서드와 비슷한 메서드를 사용하는 경우 다시 실행하면 다시 추가하는 것이 맞습니다. 중복에 대한 검사가 없습니다. 당신이 수정 된 listEmployees (검색 매개 변수 포함)를 추가하고 직원이 이미 존재하는지 확인할 수 있다고 생각합니다. – Feroc
생각보다 많은 문제가 있습니다. 이 예제는 엔터티의 equals 및 hashcode 메서드가 제대로 구현 된 경우 이미 데이터베이스에 도달하기 전에 중복성을 방지해야하는 Set를 사용합니다. – Gimby