Java 使用EntityManager.getReference()和自然键
我有两种实体类型Log和LogType,定义如下:Java 使用EntityManager.getReference()和自然键,java,jpa,Java,Jpa,我有两种实体类型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
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()一起使用,以防止在保存记录时调用数据库来提取日志类型?如果没有,是否有方法复制getReference的功能,以便在不加载完整类型的情况下将值保存在日志表中