请教一个hibernate的继承orm问题
各位前辈,我设计了一个小系统,有一部分是这样的,有个Comment(评论)对象,Comment有个CommentCreator(评论创建人),
CommentCreator又有两个子类,分别是UserCommentCreator(用户创建评论人)和GuestCommentCreator(游客创建评论人),类图如第一个图。如果直接做orm映射,就会有5张表,如第二个图。这样不仅导致数据库运行效率降低,而且和设计的意思也不符。如果实现是UserCommentCreator,CommentCreator的id就应该是User的id。于是我就做了表修改优化,如第三个图。user_creator_id将是user表或者guest表的id,根据creator_type来判断,如果creator_type是user,创建人就是User,如果creator_type是guest,那末创建人就是Guest,这样查询起来效率也高些。但这样用hibernate做orm就不知道该怎么写了,请前辈指点!
[该贴被se8于2009-02-27 23:35修改过]