我有两个实体类型Log和LogType定义如下:
public class LogType {
@Id @NotNull
private Short id;
@Size(max = 30) @Column(name = "LOG_TYPE")
private String type;
/* More fields, getters and setters */
}
public class Log {
@Id @NotNull
private Long id;
@JoinColumn(name = "LOG_TYPE_ID", referencedColumnName = "LOG_TYPE")
@ManyToOne(optional = false)
private LogType type;
/* More fields, getters and setters */
}
LOG_TYPE.LOG_TYPE字段是一个文本字符串标识符,用作与主键分开的自然键。有没有办法在EntityManager.getReference()中使用这个自然键来阻止数据库调用在保存记录时拉出LogType?如果没有,有没有办法复制getReference的功能,以便在不加载完整类型的情况下将值保存在LOG表中?