java JPA:如何从另一个实体只映射一个属性
假设我有两个实体:
@Entity
public class Phone {
@Id
private Long id;
private String number;
}
@Entity
public class Person {
@Id
private Long id;
private String name;
}
一个人和一部手机之间的关系是一对一的
我如何才能只访问手机id映射的Person实体中的手机号码
@Entity
public class Person {
@Id
private Long id;
private String name;
// ???
private String phoneNumber;
}
不映射整个实体的原因是,在一些更现实的实体中,有太多属性
# 1 楼答案
我不认为你能,但像这样的事情可能是可以接受的:
虽然映射了整个对象,而不仅仅是单个属性,但只显示了所需的单个属性。其他东西都藏起来了
或者,使用视图在DB层执行此操作:
然后有一个实体类来匹配视图。您需要在JPA实现中关闭模式创建