根据此处提出的问题:Hibernate - Foreign keys instead of Entities
如果我要实现以下示例:
@JoinColumn(name="message_key")
@ManyToOne(targetEntity=Message.class,fetch=FetchType.LAZY)
private Message message;
@Column(name="message_key", updatable=false, insertable=false)
private Long message_fk;
这会影响Entity
到DTO
的转化吗?在这种情况下,在转换期间,对象图还将包含Message
对象的映射?
如果不遍历Message
对象,以下代码是否会以完全相同的方式运行?
@Entity
@Table(name = "table")
public class Example {
@Id
@GeneratedValue
private Long id;
// more properties
@Column(name = "message_key")
private Long messageKey;
// more properties
@Override
public Long getMessageKey() {
return messageKey();
}
@Override
public void setMessageKey(Long messageKey) {
this.messageKey = messageKey;
}
// More getters and setters
}
在这种情况下,table
的DDL中已经有一个名为message_key
的列,因此外键关系并不是完全必要的,但我只需要生成的id
来填充那一栏。