java我可以为父表中的外键列定义不同的类型吗?
我需要以代码中的关系连接到postgreSQL数据库。 问题在于表“b”中的数据库“id”是“bigint”,表“a”中的“b_id”是“integer”,prod db不在我的控制范围内,因此我无法更改它
“a”中的“b_id”没有定义为外键,这可能就是postgre允许外键的原因
正如预期的那样,hibernate抛出“找到[int4(类型#整型)],但需要[INTEGER(类型#整型)]”
如果我通过hibernate创建表,它会将表“a”中的“b_id”定义为预期的“bigint”
在不更改数据库类型的情况下验证模式的最佳方法是什么
@Entity
@Table(name = "a")
public class A {
@ManyToOne
@JoinColumn(name = "b_id")
@NotNull
private B bId;
...
}
@Entity
@Table(name = "b")
public class B {
@Id
private Long id;
...
}
# 1 楼答案
可以在
A
类中使用columnDefinition元素