我正在尝试在两个实体之间创建ManyToOne关系。表格看起来像这样:
Table:EQUIPMENT
----------------
ID (Integer PK)
FIXTURE_NO(Varchar 16)
Table:FIXTURE
----------------
ID(Integer PK)
TNO(Varchar 4)
DNO(Varchar 12)
在创建实体时,我想创建一个夹具对位= tNo + dNo(这两个值的串联)的多对一关系。
这是我模型的代码示例:
@Entity
@Table(name="EQUIPMENT", schema="EQP")
public class Equipment {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@NotNull
@Column(unique=true)
private int id;
@NotNull
@ManyToOne
@JoinColumn(name="FIXTURE_NO")
private Fixture fixture;
//getters and setters etc...
}
@Entity
@Table(name="FIXTURE", schema="FIX")
public class Fixture {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@NotNull
@Column(unique=true)
private int id;
@Size(max=4)
@Column(name="TNO")
private String tNo;
@Size(max=12)
@Column(name="DNO")
private String dNo;
//getters and setters etc...
}
现在,我看到ManyToOne映射与带有FIXTURE.ID的EQUIPMENT.FIXTURE_NO有关,但是我找不到一种方法来映射带有FIXTURE_NO的TNO和DNO的串联。
感谢您的帮助!
答案 0 :(得分:0)
它不能与串联一起使用,但是如果您将数据模型更改为:
.sparkStaging/
您可以添加这样的关系:
Table:EQUIPMENT
----------------
ID (Integer PK)
TNO(Varchar 4)
DNO(Varchar 12)
Table:FIXTURE
----------------
ID(Integer PK)
TNO(Varchar 4)
DNO(Varchar 12)