JPA在嵌入式对象中能不能使用关联注解如:
@Embeddable
public class Test{private int test;@OneToMany(mappedBy="test")
private Collection cln;//gettes/setts}上网查了下,有人说行,有人说不行
据说Hibernate JPA对EJB3.0规范中的JPA做了扩展可以实现,不知道应该怎么做。我用hibernate试了下
感觉不行啊,各位有没有方法能实现这个功能?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【blacksky115】截止到2008-06-27 11:15:35的历史汇总数据(不包括此帖):
    发帖数:5                  发帖分:350                
    结贴数:2                  结贴分:130                
    未结数:3                  未结分:220                
    结贴率:40.00 %            结分率:37.14 %            
    楼主该结一些帖子了
      

  2.   

    我在netbean上做了个测试,这样是可以的,单项一对多,可能你一测试通过了吧
    @Embeddable
    public class Test implements java.io.Serializable {
        private int test; 
        @OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
        @JoinColumn(name="user_id",referencedColumnName="id")
        private Collection<Detail> details;
    ......
    }
    这里Test 作为@Embeddable嵌入到User类中detail类如下,没有做双向映射
    @Entity
    public class Detail implements Serializable {
        private static final long serialVersionUID = 1L;
        private Long id;
        private String detailName;
    ......
    }
    经测试,数据库生成如下,其他的表不说了就说Detail表
    id   detailName   user_id
    1 detail1     1
    2 detail2     1说明嵌入类中做单向关联是有效的,相当于在其所嵌入的实体类中应用一对多,反向一定也没问题
      

  3.   

    谢谢Landor2004 
    问题已经解决。