Skip to content

Commit

Permalink
HHH-11217 - SessionImpl.refresh() throws IllegalArgumentException, 'n…
Browse files Browse the repository at this point in the history
…ot an Entity' when using custom entity name
  • Loading branch information
dreab8 committed Nov 23, 2016
1 parent f9a4088 commit cc5a13a
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
Expand Up @@ -56,8 +56,13 @@ public void onRefresh(RefreshEvent event) throws HibernateException {
public void onRefresh(RefreshEvent event, Map refreshedAlready) {

final EventSource source = event.getSession();

boolean isTransient = !source.contains( event.getObject() );
boolean isTransient;
if ( event.getEntityName() != null ) {
isTransient = !source.contains( event.getEntityName(), event.getObject() );
}
else {
isTransient = !source.contains( event.getObject() );
}
if ( source.getPersistenceContext().reassociateIfUninitializedProxy( event.getObject() ) ) {
if ( isTransient ) {
source.setReadOnly( event.getObject(), source.isDefaultReadOnly() );
Expand Down
Expand Up @@ -1265,9 +1265,16 @@ public void refresh(String entityName, Object object, Map refreshedAlready) thro

private void fireRefresh(RefreshEvent event) {
try {
if ( !getSessionFactory().getSessionFactoryOptions().isAllowRefreshDetachedEntity() ) {
if ( !contains( event.getObject() ) ) {
throw new IllegalArgumentException( "Entity not managed" );
if ( !getSessionFactory().getSessionFactoryOptions().isAllowRefreshDetachedEntity() ) {
if ( event.getEntityName() != null ) {
if ( !contains( event.getEntityName(), event.getObject() ) ) {
throw new IllegalArgumentException( "Entity not managed" );
}
}
else {
if ( !contains( event.getObject() ) ) {
throw new IllegalArgumentException( "Entity not managed" );
}
}
}
checkOpen();
Expand Down

0 comments on commit cc5a13a

Please sign in to comment.