繁体   English   中英

如何在Integer列的Hibernate中创建外键

[英]How to create foreign key in Hibernate on Integer column

我有一个Java实体,我希望Hibernate从Integer字段创建一个外键(因为我没有对象引用):

@Entity
public class Invoice {

    ...
    @Column(nullable = true)
    private Integer generatedBy;
    ...

我想我想用一个属性做这样的事情:

    @ForeignKey(name="FK_Invoice_GeneratedBy", references="UserTable.UserId")
    @Column(nullable = true)
    private Integer generatedBy;

实现这一目标的最佳方法是什么? 我最好不要将这些关系保存在单独的文件中(如果可能)。

似乎没有解决方案,因此接受这个作为答案。

有办法做到这一点,但它不是很好......

您可以使用整数属性,以及以这种方式映射的对象属性:

@Column(ame = "GENERATED_BY", nullable = true)
private Integer generatedBy;

@ForeignKey(name="FK_Invoice_GeneratedBy")
@JoinColumn(name = "GENERATED_BY", nullable = false, updatable = false, insertable = false)
private User generatedByUser;

您可以不保留对generatedByUser字段的外部访问权限,它只会显示hibernate存在关系。 您可以随意设置“整数”字段,稍后从DB加载此对象时,您将获得用户引用。

再说一次,不是很漂亮,但有时也很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM