Hi, For performance purpose, i just rewrited part of an existing application to remove non necessary *-* LEFT OUTER JOIN. The main goal of this evolution was to persist enum collection into a simple String field using enum literal value separated by comma (,) separator. In order to do this: - relation on Enumeration has been removed - EnumSet<X> has been used as entity attribute for non orderer enum collection - List<X> has been used an entity attribute for orderer enum collection Two new abstract hibernate user type have been created : - EnumListUserType.java (ordered) - EnumSetUserType.java (non orderer) code is available here : https://svn.codelutin.com/faxtomail/trunk/faxtomail-persistence/src/main/jav... Those new types are used by adding topia tagvalues during generation: - xxx.MyEntity.attribute.myAttribute.tagvalue.hibernateAttributeType=xxx.MyEnumEnumSetUserType exemple of use is available here : https://svn.codelutin.com/faxtomail/trunk/faxtomail-persistence/src/main/xmi... Regards. -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28