我是新來的spring mvc,roo和hibernate。我正在使用Oracle XE 10g數據庫。Spring Roo,Hibernate爲主鍵列生成不必要的外鍵
我已經使用Roo創建了新的實體。
entity --class Opcina
field string --fieldName Naziv
field reference --fieldName Entitet --type ~.domain.Entitet
生成的Java類是波紋管:
import org.springframework.roo.addon.entity.RooEntity;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.tostring.RooToString;
import randb.domain.Entitet;
import javax.persistence.ManyToOne;
@RooJavaBean
@RooToString
@RooEntity
public class Opcina {
private String Naziv;
@ManyToOne
private Entitet Entitet;
}
生成的表是這樣的:
CREATE TABLE "TEST"."OPCINA"
(
"ID" NUMBER(19,0) NOT NULL ENABLE,
"NAZIV" VARCHAR2(255 BYTE),
"VERSION" NUMBER(10,0),
"ENTITET" NUMBER(19,0),
PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE,
CONSTRAINT "FKC3C2CDFACAB9A04E" FOREIGN KEY ("ID") REFERENCES "TEST"."OPCINA" ("ID") ENABLE,
CONSTRAINT "FKC3C2CDFA1A1F0EF1" FOREIGN KEY ("ENTITET") REFERENCES "TEST"."ENTITET" ("ID") ENABLE
);
什麼是
約束 「FKC3C2CDFACAB9A04E」 外鍵(目的」 ID「)參考」測試「。」OPCINA「(」ID「)ENABLE,
約束,爲什麼產生? (我該如何避免它?)
此行爲無關的百畝或Spring MVC的,它不僅關係到JPA /休眠。 – Ralph 2011-03-07 12:02:29