疯狂

STANDING ON THE SHOULDERS OF GIANTS
posts - 481, comments - 486, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

hibernate annoation (五 组件)

Posted on 2009-11-02 14:56 疯狂 阅读(258) 评论(0)  编辑  收藏 所属分类: hibernate

例如:有三个类 A B C  最终要持久化的类是A 而 B C 都作为组件内在与A  B,C都要使用@Embeddable标注声明为一个组件

 

class A 代码:

 

Java代码 复制代码
  1. @Entry  
  2. public class A{   
  3. private int id;   
  4. private B b;   
  5. private C c;   
  6. ...   
  7.   
  8.   
  9. public B getB(){   
  10.   ...   
  11. }   
  12.   
  13. public C getC(){   
  14.   
  15. ....   
  16. }   
  17.   
  18. }  

 B 包含C

class B

Java代码 复制代码
  1. @Embeddable  
  2. public  class B{   
  3.    private Stirng bname;   
  4.    private C c;   
  5.    get set....   
  6.  }  

 

 

class C

Java代码 复制代码
  1. @Embeddable  
  2. public class C{   
  3.   private String cnam2;   
  4.   
  5.    get set....   
  6.   }  

 持久化后 并没有将C的cnam重复持久化为两个字段如果需要这样则需要:

  在A中使用:

 @Enumerated
 @AttributeOverrides(
   {@AttributeOverride(name="bname",column =  @Column(name="cname1") )}
   )

这样cname将会再次被颜色为一个字段cnam1


只有注册用户登录后才能发表评论。


网站导航: