[jbossseam-issues] [JBoss JIRA] Updated: (JBSEAM-1820) unique=true attribute of primary key in generated class prevents the schema to be regenerated
Ali Sadik Kumlali (JIRA)
jira-events at lists.jboss.org
Sun Aug 19 19:56:00 EDT 2007
[ http://jira.jboss.com/jira/browse/JBSEAM-1820?page=all ]
Ali Sadik Kumlali updated JBSEAM-1820:
--------------------------------------
JBoss Forum Reference: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=116478
Description:
- Create PEOPLE table using following script:
CREATE TABLE PEOPLE ("ID" NUMBER NOT NULL, "SURNAME" VARCHAR2(50 BYTE), "NAME" VARCHAR2(25 BYTE), CONSTRAINT "PEOPLE_PK" PRIMARY KEY ("ID"));
- Generate entities:
c:\seam>seam generate-entities
- Annotation of primary key column(ID) found in People.java should have "unique = true" attribute:
@Id
@Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
@NotNull
public BigDecimal getId() {
return this.id;
}
- Drop the PEOPLE table:
DROP TABLE "PEOPLE" CASCADE CONSTRAINTS;
- To force the schema to be generated from entity classes, redeploy application:
c:\seam\examples\people_sample>ant
- Dig inside the server logs. You should see an error:
02:00:36,956 INFO [SchemaExport] Running hbm2ddl schema export
02:00:36,959 INFO [SchemaExport] exporting generated schema to database
02:00:37,215 ERROR [SchemaExport] Unsuccessful: create table PEOPLE (ID number(22,0) not null unique, NAME varchar2(25 c
har), SURNAME varchar2(50 char), primary key (ID))
02:00:37,217 ERROR [SchemaExport] ORA-02261: such unique or primary key already exists in the table
- Remove unique=true attribute from @Column annotation and compile/redeploy the application. You should see table PEOPLE is created and logs are fine.
was:
Following steps causes
- Create a table using following script:
CREATE TABLE PEOPLE ("ID" NUMBER NOT NULL, "SURNAME" VARCHAR2(50 BYTE), "NAME" VARCHAR2(25 BYTE), CONSTRAINT "PEOPLE_PK" PRIMARY KEY ("ID"));
- Use seam generate-entities
- Annotation of primary key column(ID) found in People.java should have "unique = true" attribute:
@Id
@Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
@NotNull
public BigDecimal getId() {
return this.id;
}
- Drop the PEOPLE table:
DROP TABLE "PEOPLE" CASCADE CONSTRAINTS;
- To force the schema generated from entity class, redeploy application:
seam deploy
Sorry for this mistakenly created issue. When I was writing this issue, pressed the enter key mistakenly. Later on, decided to ask my question first in the forum: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=116478
Could you please delete/close this issue? I'll create a new one, if it will be necessary,
Thanks
> unique=true attribute of primary key in generated class prevents the schema to be regenerated
> ---------------------------------------------------------------------------------------------
>
> Key: JBSEAM-1820
> URL: http://jira.jboss.com/jira/browse/JBSEAM-1820
> Project: JBoss Seam
> Issue Type: Bug
> Components: Tools
> Affects Versions: 2.0.0.BETA1
> Environment: OS: Windows Vista 6.0,x86
> Database: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
> Java VM: Java HotSpot(TM) Server VM 1.5.0_11-b03,Sun Microsystems Inc.
> Seam: jboss-seam-2.0.0.BETA1
> Reporter: Ali Sadik Kumlali
> Priority: Trivial
>
> - Create PEOPLE table using following script:
> CREATE TABLE PEOPLE ("ID" NUMBER NOT NULL, "SURNAME" VARCHAR2(50 BYTE), "NAME" VARCHAR2(25 BYTE), CONSTRAINT "PEOPLE_PK" PRIMARY KEY ("ID"));
> - Generate entities:
> c:\seam>seam generate-entities
> - Annotation of primary key column(ID) found in People.java should have "unique = true" attribute:
> @Id
> @Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
> @NotNull
> public BigDecimal getId() {
> return this.id;
> }
> - Drop the PEOPLE table:
> DROP TABLE "PEOPLE" CASCADE CONSTRAINTS;
> - To force the schema to be generated from entity classes, redeploy application:
> c:\seam\examples\people_sample>ant
> - Dig inside the server logs. You should see an error:
> 02:00:36,956 INFO [SchemaExport] Running hbm2ddl schema export
> 02:00:36,959 INFO [SchemaExport] exporting generated schema to database
> 02:00:37,215 ERROR [SchemaExport] Unsuccessful: create table PEOPLE (ID number(22,0) not null unique, NAME varchar2(25 c
> har), SURNAME varchar2(50 char), primary key (ID))
> 02:00:37,217 ERROR [SchemaExport] ORA-02261: such unique or primary key already exists in the table
> - Remove unique=true attribute from @Column annotation and compile/redeploy the application. You should see table PEOPLE is created and logs are fine.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list