openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michel Ganguin (JIRA)" <j...@apache.org>
Subject [jira] Created: (OPENJPA-1748) delete error when using constant joins with fetchtype lazy
Date Wed, 28 Jul 2010 11:45:15 GMT
delete error when using constant joins with fetchtype lazy
----------------------------------------------------------

                 Key: OPENJPA-1748
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1748
             Project: OpenJPA
          Issue Type: Bug
    Affects Versions: 1.2.1
         Environment: - windows glassfish/mysql
- linux glassfish/mysql
- linux weblogic/oracle
            Reporter: Michel Ganguin
            Priority: Critical


Entity (fetch lazy, without cascade): 

@Entity 
@Table(name="Table1") 
public class Table1  { 

    @ManyToOne(optional = true, fetch = FetchType.LAZY) 
    @JoinColumns({ 
        @JoinColumn(name="FK" referencedColumnName="PK1"), 
        @JoinColumn(name="Table2.PK2" referencedColumnName="'a'") 
    }); 
    private Table2 table2; 
} 

I want to remove an entry: 

Table1 t1 = entityManager.find(Table1.class, "table1Key"); 
entityManager.remove(t1); 

but this raises an exception because the parameter 'a' (from referencedColumnName) is missing.


org.apache.openjpa.persistence.PersistenceException: No value specified for parameter 2. {prepstmnt
1615708154 SELECT t1.* FROM Table1 t0 INNER JOIN Table2 t1 ON t0.FK = t1.PK1 AND ? = t1.PK2
WHERE t0.PK = ? [params=(String) table1Key]} [code=0, state=22023] 

as workaround it works without errors if I change fetchtype to eager, but in my case this
could have a great performance overhead.

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


Mime
View raw message