我刚开始玩mvc,roo和hibernate。我正在使用Oracle XE 10g数据库。
我使用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”FOREIGN KEY(“ID”)参考“TEST”。“OPCINA”(“ID”)ENABLE,
约束,为什么会生成? (我怎么能避免它?)
答案 0 :(得分:0)
您可能在Roo会话期间意外切换到Entitet
。明确目标类:
field reference --fieldName Entitet --type ~.domain.Entitet --class ~.domain.Opcina
或先切换焦点:
focus --class ~.domain.Opcina
field reference --fieldName Entitet --type ~.domain.Entitet