|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.collection.internal.AbstractPersistentCollection org.hibernate.collection.internal.PersistentIdentifierBag
public class PersistentIdentifierBag
An IdentifierBag implements "bag" semantics more efficiently than
a regular Bag by adding a synthetic identifier column to the
table. This identifier is unique for all rows in the table, allowing very
efficient updates and deletes. The value of the identifier is never exposed
to the application.
IdentifierBags may not be used for a many-to-one association.
Furthermore, there is no reason to use inverse="true".
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.hibernate.collection.internal.AbstractPersistentCollection |
---|
AbstractPersistentCollection.DelayedOperation, AbstractPersistentCollection.IteratorProxy, AbstractPersistentCollection.LazyInitializationWork<T>, AbstractPersistentCollection.ListIteratorProxy, AbstractPersistentCollection.ListProxy, AbstractPersistentCollection.SetProxy |
Field Summary | |
---|---|
protected Map |
identifiers
|
protected List |
values
|
Fields inherited from class org.hibernate.collection.internal.AbstractPersistentCollection |
---|
UNKNOWN |
Constructor Summary | |
---|---|
PersistentIdentifierBag()
|
|
PersistentIdentifierBag(SessionImplementor session)
|
|
PersistentIdentifierBag(SessionImplementor session,
Collection coll)
|
Method Summary | |
---|---|
void |
add(int index,
Object element)
|
boolean |
add(Object o)
|
boolean |
addAll(Collection c)
|
boolean |
addAll(int index,
Collection c)
|
void |
afterRowInsert(CollectionPersister persister,
Object entry,
int i)
Called after inserting a row, to fetch the natively generated id |
void |
beforeInitialize(CollectionPersister persister,
int anticipatedSize)
Called before any elements are read into the collection, allowing appropriate initializations to occur. |
void |
clear()
|
boolean |
contains(Object o)
|
boolean |
containsAll(Collection c)
|
Serializable |
disassemble(CollectionPersister persister)
Disassemble the collection, ready for the cache |
boolean |
empty()
Is the initialized collection empty? |
Iterator |
entries(CollectionPersister persister)
Iterate all collection entries, during update of the database |
boolean |
entryExists(Object entry,
int i)
Does an element exist at this entry in the collection? |
boolean |
equalsSnapshot(CollectionPersister persister)
Does the current state exactly match the snapshot? |
Object |
get(int index)
|
Iterator |
getDeletes(CollectionPersister persister,
boolean indexIsFormula)
Get all the elements that need deleting |
Object |
getElement(Object entry)
Get the value of the given collection entry |
Object |
getIdentifier(Object entry,
int i)
Get the index of the given collection entry |
Object |
getIndex(Object entry,
int i,
CollectionPersister persister)
Get the index of the given collection entry |
Collection |
getOrphans(Serializable snapshot,
String entityName)
get all "orphaned" elements |
Serializable |
getSnapshot(CollectionPersister persister)
Return a new snapshot of the current state of the collection |
Object |
getSnapshotElement(Object entry,
int i)
Get the snapshot value of the given collection entry |
int |
indexOf(Object o)
|
void |
initializeFromCache(CollectionPersister persister,
Serializable disassembled,
Object owner)
Read the state of the collection from a disassembled cached value |
boolean |
isEmpty()
|
boolean |
isSnapshotEmpty(Serializable snapshot)
Is the snapshot empty? |
boolean |
isWrapper(Object collection)
Is this the wrapper for the given underlying collection instance? |
Iterator |
iterator()
|
int |
lastIndexOf(Object o)
|
ListIterator |
listIterator()
|
ListIterator |
listIterator(int index)
|
boolean |
needsInserting(Object entry,
int i,
Type elemType)
Do we need to insert this element? |
boolean |
needsUpdating(Object entry,
int i,
Type elemType)
Do we need to update this element? |
void |
preInsert(CollectionPersister persister)
Called before inserting rows, to ensure that any surrogate keys are fully generated |
Object |
readFrom(ResultSet rs,
CollectionPersister persister,
CollectionAliases descriptor,
Object owner)
Read a row from the JDBC result set |
Object |
remove(int index)
|
boolean |
remove(Object o)
|
boolean |
removeAll(Collection c)
|
boolean |
retainAll(Collection c)
|
Object |
set(int index,
Object element)
|
int |
size()
|
List |
subList(int fromIndex,
int toIndex)
|
Object[] |
toArray()
|
Object[] |
toArray(Object[] a)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.util.List |
---|
equals, hashCode |
Field Detail |
---|
protected List values
protected Map identifiers
Constructor Detail |
---|
public PersistentIdentifierBag(SessionImplementor session)
public PersistentIdentifierBag()
public PersistentIdentifierBag(SessionImplementor session, Collection coll)
Method Detail |
---|
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException
PersistentCollection
initializeFromCache
in interface PersistentCollection
HibernateException
public Object getIdentifier(Object entry, int i)
PersistentCollection
getIdentifier
in interface PersistentCollection
getIdentifier
in class AbstractPersistentCollection
public boolean isWrapper(Object collection)
PersistentCollection
isWrapper
in interface PersistentCollection
public boolean add(Object o)
add
in interface Collection
add
in interface List
public void clear()
clear
in interface Collection
clear
in interface List
public boolean contains(Object o)
contains
in interface Collection
contains
in interface List
public boolean containsAll(Collection c)
containsAll
in interface Collection
containsAll
in interface List
public boolean isEmpty()
isEmpty
in interface Collection
isEmpty
in interface List
public Iterator iterator()
iterator
in interface Iterable
iterator
in interface Collection
iterator
in interface List
public boolean remove(Object o)
remove
in interface Collection
remove
in interface List
public boolean removeAll(Collection c)
removeAll
in interface Collection
removeAll
in interface List
public boolean retainAll(Collection c)
retainAll
in interface Collection
retainAll
in interface List
public int size()
size
in interface Collection
size
in interface List
public Object[] toArray()
toArray
in interface Collection
toArray
in interface List
public Object[] toArray(Object[] a)
toArray
in interface Collection
toArray
in interface List
public void beforeInitialize(CollectionPersister persister, int anticipatedSize)
PersistentCollection
beforeInitialize
in interface PersistentCollection
persister
- The underlying collection persister.anticipatedSize
- The anticipated size of the collection after initilization is complete.public Serializable disassemble(CollectionPersister persister) throws HibernateException
PersistentCollection
disassemble
in interface PersistentCollection
HibernateException
public boolean empty()
AbstractPersistentCollection
empty
in interface PersistentCollection
empty
in class AbstractPersistentCollection
public Iterator entries(CollectionPersister persister)
PersistentCollection
entries
in interface PersistentCollection
public boolean entryExists(Object entry, int i)
PersistentCollection
entryExists
in interface PersistentCollection
public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException
PersistentCollection
equalsSnapshot
in interface PersistentCollection
HibernateException
public boolean isSnapshotEmpty(Serializable snapshot)
PersistentCollection
isSnapshotEmpty
in interface PersistentCollection
public Iterator getDeletes(CollectionPersister persister, boolean indexIsFormula) throws HibernateException
PersistentCollection
getDeletes
in interface PersistentCollection
HibernateException
public Object getIndex(Object entry, int i, CollectionPersister persister)
PersistentCollection
getIndex
in interface PersistentCollection
persister
- it was more elegant before we added this...public Object getElement(Object entry)
PersistentCollection
getElement
in interface PersistentCollection
public Object getSnapshotElement(Object entry, int i)
PersistentCollection
getSnapshotElement
in interface PersistentCollection
public boolean needsInserting(Object entry, int i, Type elemType) throws HibernateException
PersistentCollection
needsInserting
in interface PersistentCollection
HibernateException
public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException
PersistentCollection
needsUpdating
in interface PersistentCollection
HibernateException
public Object readFrom(ResultSet rs, CollectionPersister persister, CollectionAliases descriptor, Object owner) throws HibernateException, SQLException
PersistentCollection
readFrom
in interface PersistentCollection
HibernateException
SQLException
public Serializable getSnapshot(CollectionPersister persister) throws HibernateException
PersistentCollection
getSnapshot
in interface PersistentCollection
HibernateException
public Collection getOrphans(Serializable snapshot, String entityName) throws HibernateException
AbstractPersistentCollection
getOrphans
in interface PersistentCollection
getOrphans
in class AbstractPersistentCollection
HibernateException
public void preInsert(CollectionPersister persister) throws HibernateException
AbstractPersistentCollection
preInsert
in interface PersistentCollection
preInsert
in class AbstractPersistentCollection
HibernateException
public void add(int index, Object element)
add
in interface List
public boolean addAll(int index, Collection c)
addAll
in interface List
public Object get(int index)
get
in interface List
public int indexOf(Object o)
indexOf
in interface List
public int lastIndexOf(Object o)
lastIndexOf
in interface List
public ListIterator listIterator()
listIterator
in interface List
public ListIterator listIterator(int index)
listIterator
in interface List
public Object remove(int index)
remove
in interface List
public Object set(int index, Object element)
set
in interface List
public List subList(int fromIndex, int toIndex)
subList
in interface List
public boolean addAll(Collection c)
addAll
in interface Collection
addAll
in interface List
public void afterRowInsert(CollectionPersister persister, Object entry, int i) throws HibernateException
AbstractPersistentCollection
afterRowInsert
in interface PersistentCollection
afterRowInsert
in class AbstractPersistentCollection
HibernateException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |