Jpa 如何绑定非空自引用实体?
我想把一张桌子绑起来,看起来像这样Jpa 如何绑定非空自引用实体?,jpa,many-to-one,self-referencing-table,Jpa,Many To One,Self Referencing Table,我想把一张桌子绑起来,看起来像这样 some_id BIGINT PK parent_id BIGINT NN '0' 如你所见 它看起来像一个自引用实体 parent\u id的无FK parent\u id不可为空,默认为0 我怎样才能装订 下面的映射很好吗 class Some { @Id private Long id; @ManyToOne // optional? @JoinColumn(name = "parent_id", re
some_id BIGINT PK
parent_id BIGINT NN '0'
如你所见
- 它看起来像一个自引用实体
parent\u id的无FK
不可为空,默认为parent\u id
0
class Some {
@Id
private Long id;
@ManyToOne // optional?
@JoinColumn(name = "parent_id", referencedColumnName = "some_id")
private Some parent;
}
换句话说,我如何将
0
映射到null
?我认为最好通过将根添加到表中来强化根元素的存在:
INSERT INTO some (some_id, parent_id) VALUES (0, 0);
COMMIT;
这样,带有some_id=0
的条目现在将用作根元素,并使任何带有parent_id=0
的引用成为有效引用
我不认为有一种方法可以将0映射为NULL,这与JPA的工作方式不同,也不适用于引用id