0

我在进行一对多映射时遇到了一个问题,例如,我有一个 USER 类和另一个 PHONE 类,并且从 USER 到 PHONE 存在一对多映射。我已经这样设计了我的课程,

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;
}

有没有我可以使用的注释而不在电话类中定义 USER 类型?

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

4

1 回答 1

0

如果您不想在加载手机时加载用户,请将关联设为惰性:

@Entity
public class User {
    ...

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


@Entity
public class Phone
    ...

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

请注意,上面的代码也遵守 Java 命名约定。类不应该全部大写。

于 2013-02-11T10:49:38.347 回答