From: <leg...@at...> - 2003-08-12 08:23:14
|
The following comment has been added to this issue: Author: Max Rydahl Andersen Created: Tue, 12 Aug 2003 3:22 AM Body: Have you tried adding insert="false" to the meta attribute in the class ? It may surprise you to see that what happens is that the class GETS the meta tag (as it is in the class), but the meta tag is NOT inherited by any sub-tags. Please say if you have tried it and it then did not work, because then we have a bug - and then i would like to see you hbm.xml which does not work. Here is what i expect you to do ;) <class name="com.rhi.domain.impl.Person" table="people"> <meta inherit="false" attribute="implements">com.rhi.domain.Person</meta> <composite-id name="pk" class="com.rhi.domain.impl.id.PersonPk"> <key-property name="personId" column="person_id" type="java.lang.Long"/> <key-property name="personRegionId" column="person_region_id" type="java.lang.Long"/> </composite-id> <property name="number" column="people_no" type="java.lang.Long"/> <property name="firstName" column="first_name" type="java.lang.String"/> <property name="middleName" column="middle_name" type="java.lang.String"/> <property name="lastName" column="last_name" type="java.lang.String"/> </class> --------------------------------------------------------------------- View the issue: http://opensource.atlassian.com/projects/hibernate/secure/ViewIssue.jspa?key=HB-242 Here is an overview of the issue: --------------------------------------------------------------------- Key: HB-242 Summary: <meta attribute="implements"> does not behave as expected Type: Bug Status: Closed Priority: Major Resolution: REJECTED Project: Hibernate2 Components: toolset Versions: 2.0.1 Assignee: Reporter: abe zafar Created: Sun, 10 Aug 2003 2:40 AM Updated: Sun, 10 Aug 2003 6:37 AM Environment: JDK1.4 Description: If the tag <meta attribute="implements">com.hp.Printer</meta> is inserted as a child of the class tag it properly adds the implement clause to the class. But if that class also contained a <composite-id> tag which indicated a class then that class would also UNEXPECTEDLY implement the interface "com.hp.Printer". So in the following example: <class name="com.hp.ColorPrinter"> <meta attribute="implements">com.hp.Printer</meta> <composite-id name="propertyName" class="com.hp.PrinterId"> <key-property name="propertyName" type="typename" column="column_name"/> <key-many-to-one name="propertyName class="ClassName" column="column_name"/> </composite-id> Both "ColorPrinter" and "PrinterId" end up implementing "com.hp.Printer". ColorPrinter is expected to implement the interface, but PrinterId should not implement the interface. --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira |