医院的名字根据 locale
不同而显示不同的值. 医院上的 locale
是一个虚拟属性, 用来接收参数.
借助 Hibernate 本身的对应关系应该怎么写注解呢? 谢谢!
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Hospital {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Transient
private String locale = "zh-CN";
@OneToOne
@JoinColumns({
@JoinColumn(name = "id", referencedColumnName = "hospital_id"),
@JoinColumn(name = "locale", referencedColumnName = "locale"),
})
private HospitalTranslation translation;
}
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class HospitalTranslation {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotNull
private Long hospital_id;
@NotNull
private String locale;
}