仅获取外键而不是实体

时间:2017-08-15 19:44:00

标签: java hibernate orm foreign-keys dto

根据此处提出的问题: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;

这会影响EntityDTO的转化吗?在这种情况下,在转换期间,对象图还将包含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来填充那一栏。

0 个答案:

没有答案