1 | retryMergeTransientEntities( event, transientCopyCache, copyCache );↵ | | |
|
2 | // find any entities that are still transient after retry↵ | | |
|
3 | transientCopyCache = getTransientCopyCache(event, copyCache );↵ | | |
|
4 | if ( transientCopyCache.size() > 0 ) {↵ | | |
|
5 | Set transientEntityNames = new HashSet();↵ | | |
|
6 | for( Iterator it=transientCopyCache.keySet().iterator(); it.hasNext(); ) {↵ | | 1 | for ( Iterator iter = list.iterator(); iter.hasNext(); ) {
↵
|
7 | Object transientEntity = it.next();↵ | | 2 | Object element = iter.next();
↵
|
8 | String transientEntityName = event.getSession().guessEntityName( transientEntity );↵ | | 3 | Integer l = ( Integer ) items.get( tmpSession.getEntityName( element ) );
↵
|
9 | transientEntityNames.add( transientEntityName );↵ | | 4 | ↵
|
10 | log.trace( "transient instance could not be processed by merge: " +↵ | | |
|
11 | transientEntityName + "[" + transientEntity + "]"↵ | | 5 | if ( l == null ) {↵
|
| | | 6 | l = new Integer( 0 );↵
|
| | | 7 | }↵
|
| | | 8 | l = new Integer( l.intValue() + 1 );↵
|
| | | 9 | items.put( tmpSession.getEntityName( element ), l );↵
|
12 | );↵ | | 10 | System.out.println( "Data left: " + element );
↵
|
13 | }↵ | | 11 | }
↵
|
14 | throw new TransientObjectException(↵ | | 12 | ↵
|
15 | "one or more objects is an unsaved transient instance - save transient instance(s) before merging: " +↵ | | |
|
16 | transientEntityNames );↵ | | |
|
17 | } | | 13 | fail( "Data is left in the database: " + items.toString() );
|