2013-02-11 287 views
0

我在执行一对多映射时面临一个问题,例如 ,我有一个USER类和另一个类PHONE,并且有从USER到PHONE的一对多映射。 我设计我的课是这样,JPA注释做多对多映射

class USER{ 

@Column(name="user_id") 
UUID user_id; 

@OneToMany 
Set<PHONE> phones; 
} 

class PHONE{ 
@Column(name="phone_id") 
UUID phone_id; 

@Column(name=user_id) 
UUID user_id; 
} 

有任何注释我没有手机类定义用户的类型可以使用吗?

如果我喜欢这个“PHONE类中的USER用户”,那么我可以定义单向或双向关系。但我想保留PHONE表中的user_id,因为当我得到一个PHONE时,我不想再获取USER细节。谢谢 !

回答

0

如果你不想装电话时加载的用户,这使关联懒:

@Entity 
public class User { 
    ... 

    @OneToMany(mappedBy = "user") 
    private Set<Phone> phones; 
} 


@Entity 
public class Phone 
    ... 

    @ManyToOne(fetch = FetchType.LAZY) 
    private User user; 
} 

注意上面的代码也尊重了Java命名约定。类不应全部大写。

+0

但我有这两个表在不同的架构和其他的事情是在JSON响应我想通过一些超链接格式的用户ID,以便用户也可以导航到USER配置文件。 – user2060910 2013-02-11 11:08:54

+0

如果它们处于不同的架构中,则不能将OneToMany从用户拨打电话。 – 2013-02-11 11:21:35