You've defined an index, but NOT a primary key. Abator only looks for primary key. So, drop the index then do this:
ALTER TABLE MY_TABLE ADD PRIMARY KEY
(MY_KEY_COLUMN_1, MY_KEY_COLUMN_2)
(MY_KEY_COLUMN_1, MY_KEY_COLUMN_2)
Jeff Butler
On 9/14/06, Crocker, Patrick <[EMAIL PROTECTED]> wrote:
I am using Abator to generate the java model and sql map for a table
that has a composite key across three columns. What I *expect* to
happened is for Abator to generate the record class (MY_COLUMN_1,
MY_COLUMN_2) AND the key class (MY_KEY_COLUMN_1, MY_KEY_COLUMN_2).
However, the only class that is created is the record class containing
all the columns (MY_KEY_COLUMN_1, MY_KEY_COLUMN_2, MY_COLUMN_1,
MY_COLUMN_2).
Are my assumptions wrong here, or is Abator not working properly?
Here is the setup:
Abator: v1.0.0-238
Database: Oracle 9.2.6.0
Table:
CREATE TABLE MY_TABLE
(
MY_KEY_COLUMN_1 VARCHAR2(25 BYTE) NOT NULL,
MY_KEY_COLUMN_2 VARCHAR2(25 BYTE) NOT NULL,
MY_COLUMN_1 VARCHAR2(25 BYTE) NOT NULL,
MY_COLUMN_2 VARCHAR2(25 BYTE) NOT NULL,
)
CREATE UNIQUE INDEX MY_TABLE ON MY_TABLE
(MY_KEY_COLUMN_1, MY_KEY_COLUMN_2)
...
NOPARALLEL;
Generated Record Class:
public class MyTable {
private String myKeyColumn1;
private String myKeyColumn2;
private String myColumn1;
private String myColumn2;
public String getMyColumn1() {
return myColumn1;
}
public void setMyColumn1(String myColumn1) {
this.myColumn1 = myColumn1;
}
public String getMyColumn2() {
return myColumn2;
}
public void setMyColumn2(String myColumn2) {
this.myColumn2 = myColumn2;
}
public String getMyKeyColumn1() {
return myKeyColumn1;
}
public void setMyKeyColumn1(String myKeyColumn1) {
this.myKeyColumn1 = myKeyColumn1;
}
public String getMyKeyColumn2() {
return myKeyColumn2;
}
public void setMyKeyColumn2(String myKeyColumn2) {
this.myKeyColumn2 = myKeyColumn2;
}
}
Thank you,
- Patrick.
