我有结构类:
@Entity
@Table(name = "structure")
public class Structure {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_structure", unique = true)
private Long id;
@Column(name = "code_structure")
private String codeStructure;
@ManyToOne
@JoinColumn(name = "code_structure_mere")
private Structure parentStructure;
@OneToMany(mappedBy = "parentStructure")
private List<Structure> sousStructures;
....
对于parentStructure:由code_structure_mere
映射
在db中,此字段包含父结构的code_structure
而不是其ID。
我有一个接口StructureRepository,我可以从该接口检索我拥有的所有结构。我在执行时遇到错误:
structureRepository.findAll()
:
SQL Error: 0, SQLState: 22003
Mauvaise valeur pour le type long : 09N008000
我可以使用id以外的其他字段来设置父结构吗?
答案 0 :(得分:0)
如果您的@JoinColumn(name = "code_structure_mere")
引用了 code_structure_mere 列,则不是
@Column(name = "code_structure")
private String codeStructure;
应该是
@Column(name = "code_structure_mere")
private String codeStructure;
无论如何,我发现blog post可以为您提供帮助。