2012-06-21 2 views
0

두 테이블 A와 B가 있습니다. A는 B와 1 : 1로 관계가 있습니다.JPA와 Netbeans 엔티티 관계

나는 "데이터베이스에서 엔티티 클래스 만들기"를 실행, 넷빈즈는 두 개의 엔티티 클래스를 생성하지만, A는 주석이 있습니다

@OneToMany 
private List<B> bCollections; 

을하지만 1 세트 : 1 관계를, 왜 이런 일이?

SQL 스크립트 :

-- ----------------------------------------------------- 
-- Table `mydb`.`A` 
-- ---------------------------------------------------- 

CREATE TABLE IF NOT EXISTS `mydb`.`A` (

    `idA` INT NOT NULL , 

    `value` VARCHAR(45) NULL , 

    PRIMARY KEY (`idA`)) 

ENGINE = InnoDB; 

-- ----------------------------------------------------- 
-- Table `mydb`.`B` 
-- ----------------------------------------------------- 

CREATE TABLE IF NOT EXISTS `mydb`.`B` (

    `idB` INT NOT NULL , 

    `values` VARCHAR(45) NULL , 

    `A_idA` INT NOT NULL , 

    PRIMARY KEY (`idB`) , 

    INDEX `fk_B_A` (`A_idA` ASC) , 

    CONSTRAINT `fk_B_A` 

    FOREIGN KEY (`A_idA`) 

    REFERENCES `mydb`.`A` (`idA`) 

    ON DELETE NO ACTION 

    ON UPDATE NO ACTION) 

ENGINE = InnoDB; 
+0

Semms를 추가합니다. 하나의 A는 여러 개의 B를 가질 수 있습니다. – jocelyn

+0

아니요, 일대일 관계입니다 ... – CeccoCQ

+0

많은 B가 동일한 B를 참조하는 것을 금지하는 제한이 표시되지 않습니다. –

답변

1

어쩌면 나에게 제약에게 올바른

UNIQUE (A_idA) 
+1

네 말이 맞아. JPA 자동 생성의 경우 JPA 관계를 적용하기 위해 UNIQUE 제약 조건을 추가해야합니다. – CeccoCQ