gpt4 book ai didi

java - JPA 在需要类型转换的字段上定义关系

转载 作者:搜寻专家 更新时间:2023-11-01 00:53:14 24 4
gpt4 key购买 nike

我想在“供应商”列上连接两个表,在发票表中,供应商类型为整数,在供应商表中,供应商类型为 varchar(10)。

有没有可能做一个类型转换,也有关系?

@Entity
public class Vendor
{
private String id;

@Id(Column="vendor")
public String getId(){ ... }
}

@Entity
public class Invoice
{
private Vendor vendor;

@One-to-one
public Vendor getVendor() { ... }
}

最佳答案

据我所知,使用数据透视表(就像您用来表示多对多关系一样)是正确的方法。

像这样的东西应该可以工作:

@Entity
public class Invoice
{
@JoinTable(name = "invoice_vendor", joinColumns = {
@JoinColumn(name = "invoice", referencedColumnName = "vendor_id")}, inverseJoinColumns = {
@JoinColumn(name = "vendor", referencedColumnName = "id")})
@OneToOne
private Vendor vendor;
}

invoice_vendor 表在 id 列中包含整数 id,在 vendor_id 列中包含 varchar 引用。

此外,我推测您希望供应商之间存在 ManyToOne 关系,但您写的是一对一,所以我就这样保留了。

关于java - JPA 在需要类型转换的字段上定义关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4280343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com