Table generator uses incorrect schema name
------------------------------------------

                 Key: OPENJPA-648
                 URL: https://issues.apache.org/jira/browse/OPENJPA-648
             Project: OpenJPA
          Issue Type: Sub-task
          Components: jdbc
    Affects Versions: 1.0.2, 1.2.0
            Reporter: Jeremy Bauer
             Fix For: 1.2.0


If a schema name is provided on an entity-level Table annotation and a 
different schema name is used within a field-level TableGenerator, the mapping 
tool uses the the schema name provided in the field-level annotation to create 
the table, but the runtime generates SQL using the schema of the entity-level 
table annotation.  The result is an exception when the runtime attempts to 
query the table.

--- For example:

@Entity(name="SENTITY")
@Table(name="SENTITY", schema="TBLSCHEMA")
public class SingleEntity {
    @Id
    @TableGenerator(name = "SID_Gen", table = "ID_Gen", schema="TGSCHEMA",
            pkColumnName = "GEN_NAME", valueColumnName = "GEN_VAL",
            pkColumnValue = "ID2", initialValue = 20, allocationSize = 10)
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "SID_Gen")     
    private int id;    

....
}

--- Results in this SQL/exception:

Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Table/View 
'TBLSCHEMA.ID_GEN' does not exist. {SELECT GEN_VAL FROM TBLSCHEMA.ID_Gen WHERE 
GEN_NAME = ? FOR UPDATE WITH RR} [code=20000, state=42X05]

The mapping tool creates the id generator table using the correct schema 
(TGSCHEMA).  

This issue is being opened as a subtask under OPENJPA-493.  It was found while 
testing a back-port of the fix made in rev. 610427 to the 1.0.x stream.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to