BasicType MyPersonName {
String firstName;
String lastName;
}
Entity MyPerson {
Set<String> nicknames
}
Entity Spy extends MyPerson {
- Set<@MyPersonName> aliases
}
CREATE TABLE MYPERSON (
ID BIGINT NOT NULL,
NICKNAMES VARCHAR(100) NOT NULL,
UUID VARCHAR(36) NOT NULL,
CREATEDDATE TIMESTAMP,
CREATEDBY VARCHAR(50),
LASTUPDATED TIMESTAMP,
LASTUPDATEDBY VARCHAR(50),
VERSION BIGINT NOT NULL
);
CREATE TABLE SPY (
MYPERSON BIGINT NOT NULL
);
-- Create many to many relations
CREATE TABLE ALIASE_SPY (
ALIASE_FIRSTNAME VARCHAR(100) NOT NULL,
ALIASE_LASTNAME VARCHAR(100) NOT NULL,
SPY BIGINT NOT NULL
);
ALTER TABLE ALIASE_SPY ADD CONSTRAINT PK_ALIASE_SPY
PRIMARY KEY (ALIASE, SPY);
-- Reference from ALIASE_SPY.spy to Spy
ALTER TABLE ALIASE_SPY ADD CONSTRAINT FK_ALIASE_SPY_SPY
FOREIGN KEY (SPY) REFERENCES MYPERSON (ID);
CREATE INDEX IX_ALIASE_SPY_SPY ON ALIASE_SPY (SPY);
enum MyEnum1 {
attr1, attr2
}
enum MyEnum2 {
attr1, attr2
}
BasicType MyPersonName {
- @MyEnum1 firstName;
- @MyEnum2 lastName;
}
Entity MyPerson {
Set<String> nicknames
}
Entity Spy extends MyPerson {
- Set<@MyPersonName> aliases
}
CREATE TABLE MYPERSON (
ID BIGINT NOT NULL,
NICKNAMES VARCHAR(100) NOT NULL,
UUID VARCHAR(36) NOT NULL,
CREATEDDATE TIMESTAMP,
CREATEDBY VARCHAR(50),
LASTUPDATED TIMESTAMP,
LASTUPDATEDBY VARCHAR(50),
VERSION BIGINT NOT NULL
);
CREATE TABLE SPY (
MYPERSON BIGINT NOT NULL
);
-- Create many to many relations
CREATE TABLE ALIASE_SPY (
,
SPY BIGINT NOT NULL
);
ALTER TABLE ALIASE_SPY ADD CONSTRAINT PK_ALIASE_SPY
PRIMARY KEY (ALIASE, SPY);
-- Entity Spy extends MyPerson
ALTER TABLE SPY ADD CONSTRAINT FK_SPY_MYPERSON
FOREIGN KEY (MYPERSON) REFERENCES MYPERSON (ID);
CREATE INDEX IX_SPY_MYPERSON ON SPY (MYPERSON);
ALIASE_SPY is not generated properly !
I using Postgre, so i supposed the problem is in the OracleDDLTmpl.xtend. But...
Any ideas ??
Regards
ALTER TABLE ALIASE_SPY ADD CONSTRAINT PK_ALIASE_SPY
PRIMARY KEY (ALIASE, SPY);
is seems to be wrong : the column ALIAS should be replace by
ALIASE_FIRSTNAME
The attribut of the basic name is not concatenated...
Any ideas ??
Regards
BasicType MyPersonName {
String firstName;
String lastName;
}
Entity MyPerson {
reference List<@MyPersonName> name
}
CREATE TABLE MYPERSON (
ID BIGINT NOT NULL,
UUID VARCHAR(36) NOT NULL,
CREATEDDATE TIMESTAMP,
CREATEDBY VARCHAR(50),
LASTUPDATED TIMESTAMP,
LASTUPDATEDBY VARCHAR(50),
VERSION BIGINT NOT NULL
);
-- Create many to many relations
CREATE TABLE MYPERSON_NAME (
NAME_FIRSTNAME VARCHAR(100) NOT NULL,
NAME_LASTNAME VARCHAR(100) NOT NULL,
MYPERSON BIGINT NOT NULL
);
ALTER TABLE MYPERSON ADD CONSTRAINT PK_MYPERSON
PRIMARY KEY (ID);
ALTER TABLE MYPERSON_NAME ADD CONSTRAINT PK_MYPERSON_NAME
PRIMARY KEY (NAME, MYPERSON);
ALTER TABLE MYPERSON
ADD CONSTRAINT UQ_MYPERSON UNIQUE (UUID);
-- Reference from MYPERSON_NAME.myPerson to MyPerson
ALTER TABLE MYPERSON_NAME ADD CONSTRAINT FK_MYPERSON_NAME_MYPERSON
FOREIGN KEY (MYPERSON) REFERENCES MYPERSON (ID);
CREATE INDEX IX_MYPERSON_NAME_MYPERSON ON MYPERSON_NAME (MYPERSON);
"Create many to many relations" between a Entity and a BasicType?
ALTER TABLE MYPERSON_NAME ADD CONSTRAINT PK_MYPERSON_NAME
PRIMARY KEY (NAME, MYPERSON);
I expect :
ALTER TABLE MYPERSON_NAME ADD CONSTRAINT PK_MYPERSON_NAME
PRIMARY KEY (MYPERSON);
Am i wrong ??
The java class is well generated with @ElementCollection() :
@ElementCollection()
@NotNull
private List<MyPersonName> name = new ArrayList<MyPersonName>();
Regards