[hibernate-dev] H4 mapping xsd question

Hardy Ferentschik hardy at hibernate.org
Tue Jul 10 04:43:56 EDT 2012


Type checking always sucks in this context. I also would try to minimize it as much as possible.
Provided your suggested change still allows to parse existing mapping documents I don't see why we should 
not make our code easier to write.

--Hardy

On Jul 10, 2012, at 10:35 AM, Strong Liu wrote:

> current <query-element> is defined as :
> 
> <xs:complexType name="query-element" mixed="true">
>     <xs:sequence minOccurs="0" maxOccurs="unbounded">
>       <xs:element name="query-param" type="query-param-element"/>
>     </xs:sequence>
>     <xs:attribute name="cache-mode" type="cache-mode-attribute"/>
>     <xs:attribute name="cache-region" type="xs:string"/>
>     <xs:attribute name="cacheable" default="false" type="xs:boolean"/>
>     <xs:attribute name="comment" type="xs:string"/>
>     <xs:attribute name="fetch-size" type="xs:int"/>
>     <xs:attribute name="flush-mode" type="flush-mode-attribute"/>
>     <xs:attribute name="name" use="required" type="xs:string"/>
>     <xs:attribute name="read-only" type="xs:boolean"/>
>     <xs:attribute name="timeout" type="xs:int"/>
>   </xs:complexType>
> 
> then the generated org.hibernate.internal.jaxb.mapping.hbm.JaxbQueryElement has a _getContent()_ method for both String/Text and query-param attribute
> 
>      * Objects of the following type(s) are allowed in the list
>      * {@link JAXBElement }{@code <}{@link JaxbQueryParamElement }{@code >}
>      * {@link String }
> 
> not very happy with this, it would be lot better to have a getQueryParam() and getValue() so we don't need to check the instance type and do the cast everytime.




More information about the hibernate-dev mailing list