cla*_*ind 5 java postgresql hibernate jpa
我需要以代码中的关系连接到 postgreSQL 数据库。问题在于表“b”中的数据库“id”是“bigint”,表“a”中的“b_id”是“整数”,prod db 不在我的控制范围内,所以我无法更改它。
“a”中的“b_id”未定义为外键,这可能就是 postgre 允许这样做的原因。
正如预期的那样,hibernate 抛出“找到 [int4 (Types#INTEGER)],但期待 [integer (Types#BIGINT)]”
如果我通过休眠创建表,它会按预期将表“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;
...
}
Run Code Online (Sandbox Code Playgroud)
您可以在类中使用columnDefinition元素A。
@Entity
@Table(name = "a")
public class A {
@ManyToOne
@JoinColumn(name = "b_id", columnDefinition = "int")
@NotNull
private B bId;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |