[hibernate-issues] [Hibernate-JIRA] Commented: (ANN-9) Support interface inheritance mapping

Barney Boisvert (JIRA) noreply at atlassian.com
Mon Mar 12 12:29:20 EDT 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/ANN-9?page=comments#action_26433 ] 

Barney Boisvert commented on ANN-9:
-----------------------------------

Pascal,

Yeah, it's kind of annoying.  Note that you only have to map the interface if you need Hibernate to be aware of it.  You can still use the interfaces in your code and only tell Hibernate about the implementations.  Not suitable for all cases, of course, and it puts a cramp on doing polymorphic queries (HQL or otherwise) when Hibernate's not aware of the interface, but it can let you use more annotations.  Another option would to annotate your interfaces, and then use APT to postprocess all your annotations in *.hbm.xml files automatically, but that's probably quite a bit more work than it's worth.

> Support interface inheritance mapping
> -------------------------------------
>
>          Key: ANN-9
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-9
>      Project: Hibernate Annotations
>         Type: Improvement

>   Components: binder
>     Versions: 3.1beta3
>     Reporter: Gili
>  Attachments: hibernate3-annotations-3.1beta5-3896-3948.diff, hibernate3-annotations-3.1beta5-3896-4138.diff
>
>
> It should be possible to create a mapping with interfaces, as described by the documentation here: http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#inheritance-tableperclass
> Specifically right now it is impossible to annotate interfaces and according to HBX-231 even if you could @Entity is only meant to get used on classes so the question becomes "what do you annotate it with?"
> As I pointed out here http://forum.hibernate.org/viewtopic.php?p=2238824#2238824 the additional problem seems to be that XDoclet doesn't support interface annotation either (http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1345) so I'm left without a workaround.
> I can't convert the interfaces to abstract classes because I implement multiple interfaces in my application and Java does not do multiple inheritance.
> If you know of a nice workaround, please let me know :)

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira




More information about the hibernate-issues mailing list