Author: arminw
Date: Thu Dec 21 17:03:23 2006
New Revision: 489533
URL: http://svn.apache.org/viewvc?view=rev&rev=489533
Log:
change Platform instance lookup, explicit lookup of PK fields to extract PK
ValueContainer
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/accesslayer/StatementManager.java
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/accesslayer/StatementManager.java
URL:
http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/accesslayer/StatementManager.java?view=diff&rev=489533&r1=489532&r2=489533
==============================================================================
---
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/accesslayer/StatementManager.java
(original)
+++
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/accesslayer/StatementManager.java
Thu Dec 21 17:03:23 2006
@@ -35,7 +35,6 @@
import org.apache.ojb.broker.metadata.ProcedureDescriptor;
import org.apache.ojb.broker.platforms.Platform;
import org.apache.ojb.broker.platforms.PlatformException;
-import org.apache.ojb.broker.platforms.PlatformFactory;
import org.apache.ojb.broker.query.BetweenCriteria;
import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.query.ExistsCriteria;
@@ -67,7 +66,7 @@
{
this.m_broker = pBroker;
this.m_conMan = m_broker.serviceConnectionManager();
- m_platform =
PlatformFactory.getPlatformFor(m_conMan.getConnectionDescriptor());
+ m_platform = m_conMan.getConnectionDescriptor().getPlatform();
}
public void closeResources(Statement stmt, ResultSet rs)
@@ -641,7 +640,10 @@
*/
protected ValueContainer[] getKeyValues(PersistenceBroker broker,
ClassDescriptor cld, Object obj) throws PersistenceBrokerException
{
- return broker.serviceBrokerHelper().getKeyValues(cld, obj);
+ //return broker.serviceBrokerHelper().getKeyValues(cld, obj);
+ // use the PK fields of the specified CLD, this is mandatory when
using "table per subclass" inheritance
+ // cause in this case the PK fields can be differ.
+ return
broker.serviceBrokerHelper().getValuesForObject(cld.getPkFields(), obj, true,
false);
}
/**
@@ -682,7 +684,7 @@
// Figure out if we are using a callable statement. If we are, then we
// will need to register one or more output parameters.
- CallableStatement callable = null;
+ CallableStatement callable;
try
{
callable = (CallableStatement) stmt;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]