[hibernate-issues] [Hibernate-JIRA] Created: (HHH-6927) Cannot register a type through configuration if the type is parametrized

Stephane Nicoll (JIRA) noreply at atlassian.com
Fri Dec 30 10:18:21 EST 2011


Cannot register a type through configuration if the type is parametrized
------------------------------------------------------------------------

                 Key: HHH-6927
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-6927
             Project: Hibernate Core
          Issue Type: Bug
          Components: core
    Affects Versions: 3.6.5
            Reporter: Stephane Nicoll


Since I don't want to hardcode @TypeDefs in each class hierarchy that uses a custom type, I am using the {{cfg.registerTypeOverride}} method. This works fine for simple user type but I have a parameterized user type. 

In that case, using this method leads to a single user type instance being used and shared for all my entities and no parameter is injected at all. Looking a bit deeper I think I found the culprit in TypeResolver.

{code:java}
public Type heuristicType(String typeName, Properties parameters) throws MappingException {
		Type type = basic( typeName );
		if ( type != null ) {
			return type;
		}

		try {
			Class typeClass = ReflectHelper.classForName( typeName );
			if ( typeClass != null ) {
				return typeFactory.byClass( typeClass, parameters );
			}
		}
		catch ( ClassNotFoundException ignore ) {
		}

		return null;
	}
{code}

base(typeName) will actually return the type that I have registered. Notice that basic does not take the {{parameters}} argument into account. Since it's not null it just returns that type. 

Maybe I did something wrong. I was surprised that cfg actually registers *instances* and not classes. Both @TypeDefs and hbm.xml specifies classes. Maybe adding an option to register a class programmatically? 



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list