15
만듭니다.봄 루, 최대 절전 모드, 많은 관계로 하나는 내가 MVC, 루 봄 및 최대 절전 모드로 새로 온 추가 테이블
1 : M 관계로 두 개의 테이블을 만들려고합니다.
예 : Person과 Car의 두 엔티티가 필요합니다. 한 사람은 많은 자동차를 소유 할 수 있습니다. 루
entity --class ~.domain.Person
field string Name
entity --class ~.domain.Car
field string Name
field reference --fieldName owner --type ~.domain.Person
field set --fieldName ownedCars --type ~.domain.Car --class ~.domain.Person --cardinality ONE_TO_MANY
자동차
생성 된 클래스 사용
제작 한 개체 :
@RooJavaBean
@RooToString
@RooEntity
public class Person {
private String Name;
@OneToMany(cascade = CascadeType.ALL)
private Set<Car> ownedCars = new HashSet<Car>();
}
그러나 사람에 대한
@RooJavaBean
@RooToString
@RooEntity
public class Car {
private String Name;
@ManyToOne
private Person owner;
}
생성 된 클래스를 데이터베이스에, 3가 테이블 (2 중 insted)
(예상) 91,363,210표 CAR (예상)
CREATE TABLE "TEST"."CAR"
(
"ID" NUMBER(19,0),
"NAME" VARCHAR2(255 BYTE),
"VERSION" NUMBER(10,0),
"OWNER" NUMBER(19,0)
)
표 PERSON
CREATE TABLE "TEST"."PERSON"
(
"ID" NUMBER(19,0),
"NAME" VARCHAR2(255 BYTE),
"VERSION" NUMBER(10,0)
)
또한 PERSON_OWNED_CARS
CREATE TABLE "TEST"."PERSON_OWNED_CARS"
(
"PERSON" NUMBER(19,0),
"OWNED_CARS" NUMBER(19,0)
)
(예상되지 않는, 그것은 많은 관계 많은 아니다)
마지막 테이블이 생성되는 이유는 무엇입니까? 마지막 테이블의 목적은 무엇입니까, 그것은 많은 관계가 많지 않습니다? 그것을 피할 수 있습니까? 내가 뭔가 잘못하고 있는거야?
우수 답변! 고맙습니다! – Emir
Roo 자체에서 수행하기 위해'--mappedBy owner' 옵션을 사용할 수 있습니다. 질문과 답변에 감사드립니다. – xverges
대단히 유용한 답변으로, 테이블 생성 동작에 관해서 여기 정말 분실했습니다. –