public class JoinPersistableRelationStore extends Object implements org.datanucleus.store.scostore.PersistableRelationStore
Modifier and Type | Field and Description |
---|---|
protected String |
addStmt
Statement for adding a relation to the join table.
|
protected org.datanucleus.ClassLoaderResolver |
clr
ClassLoader resolver.
|
protected DatastoreAdapter |
dba
Datastore adapter in use by this store.
|
protected PersistableJoinTable |
joinTable
Table containing the link between owner and related object.
|
protected JavaTypeMapping |
ownerMapping
Mapping to the owner of the relation (which holds the member).
|
protected org.datanucleus.metadata.AbstractMemberMetaData |
ownerMemberMetaData
MetaData for the member in the owner.
|
protected String |
removeStmt
Statement for removing a relation from the join table.
|
protected RDBMSStoreManager |
storeMgr
Manager for the store.
|
protected String |
updateStmt
Statement for updating a relation to the join table.
|
Constructor and Description |
---|
JoinPersistableRelationStore(org.datanucleus.metadata.AbstractMemberMetaData mmd,
PersistableJoinTable joinTable,
org.datanucleus.ClassLoaderResolver clr)
Constructor for a persistable relation join store for RDBMS.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(org.datanucleus.state.ObjectProvider sm1,
org.datanucleus.state.ObjectProvider sm2) |
protected String |
getAddStmt()
Generates the statement for adding items.
|
org.datanucleus.metadata.AbstractMemberMetaData |
getOwnerMemberMetaData() |
protected String |
getRemoveStmt()
Generates the statement for removing items.
|
org.datanucleus.store.StoreManager |
getStoreManager() |
protected String |
getUpdateStmt()
Generates the statement for updating items.
|
static int |
populateOwnerInStatement(org.datanucleus.state.ObjectProvider sm,
org.datanucleus.ExecutionContext ec,
PreparedStatement ps,
int jdbcPosition,
PersistableJoinTable joinTable)
Convenience method to populate the passed PreparedStatement with the value from the owner.
|
boolean |
remove(org.datanucleus.state.ObjectProvider op) |
boolean |
update(org.datanucleus.state.ObjectProvider sm1,
org.datanucleus.state.ObjectProvider sm2) |
protected RDBMSStoreManager storeMgr
protected DatastoreAdapter dba
protected JavaTypeMapping ownerMapping
protected org.datanucleus.metadata.AbstractMemberMetaData ownerMemberMetaData
protected PersistableJoinTable joinTable
protected org.datanucleus.ClassLoaderResolver clr
protected String addStmt
protected String updateStmt
protected String removeStmt
public JoinPersistableRelationStore(org.datanucleus.metadata.AbstractMemberMetaData mmd, PersistableJoinTable joinTable, org.datanucleus.ClassLoaderResolver clr)
mmd
- owner member metadatajoinTable
- The join tableclr
- The ClassLoaderResolverpublic org.datanucleus.store.StoreManager getStoreManager()
getStoreManager
in interface org.datanucleus.store.scostore.Store
public org.datanucleus.metadata.AbstractMemberMetaData getOwnerMemberMetaData()
getOwnerMemberMetaData
in interface org.datanucleus.store.scostore.Store
public boolean add(org.datanucleus.state.ObjectProvider sm1, org.datanucleus.state.ObjectProvider sm2)
add
in interface org.datanucleus.store.scostore.PersistableRelationStore
public boolean remove(org.datanucleus.state.ObjectProvider op)
remove
in interface org.datanucleus.store.scostore.PersistableRelationStore
public boolean update(org.datanucleus.state.ObjectProvider sm1, org.datanucleus.state.ObjectProvider sm2)
update
in interface org.datanucleus.store.scostore.PersistableRelationStore
protected String getAddStmt()
INSERT INTO JOINTABLE (OWNER_COL, RELATED_COL) VALUES (?,?)
protected String getUpdateStmt()
UPDATE JOINTABLE SET RELATED_COL = ? WHERE OWNER_COL = ?
protected String getRemoveStmt()
DELETE FROM JOINTABLE WHERE OWNER_COL = ?
public static int populateOwnerInStatement(org.datanucleus.state.ObjectProvider sm, org.datanucleus.ExecutionContext ec, PreparedStatement ps, int jdbcPosition, PersistableJoinTable joinTable)
sm
- ObjectProviderec
- execution contextps
- The PreparedStatementjdbcPosition
- Position in JDBC statement to populatejoinTable
- Join tableCopyright © 2017. All rights reserved.