15
我是新來的春天mvc,roo和hibernate。Spring Roo,Hibernate,一對多關係創建附加表
我正試圖用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 Car {
private String Name;
@ManyToOne
private Person owner;
}
的人生成類
@RooJavaBean
@RooToString
@RooEntity
public class Person {
private String Name;
@OneToMany(cascade = CascadeType.ALL)
private Set<Car> ownedCars = new HashSet<Car>();
}
然而,在數據庫中,有3個桌子(全二)
表CAR(預期)
CREATE TABLE "TEST"."CAR"
(
"ID" NUMBER(19,0),
"NAME" VARCHAR2(255 BYTE),
"VERSION" NUMBER(10,0),
"OWNER" NUMBER(19,0)
)
表人士(預期)
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 2011-03-02 11:03:25
要從Roo本身執行,可以使用'--mappedBy所有者'選項。 感謝您的問題和答案! – xverges 2011-11-30 11:54:49
非常有用的答案,我真的迷失在這裏關於表生成行爲。 – 2012-02-23 11:01:01