Why java.lang.StackOverflowError: null when I try to print my entity
Why java.lang.StackOverflowError: null when I try to print my entity
我是 spring 的新手,我的映射 class 有问题。
当我想串一个集合时,我有一个奇怪的错误,比如 WhosebugError: null
这是我的第一个实体。
@Entity(name = "utilisateurs")
public class Utilisateur {
@Id @GeneratedValue
@Column(name = "id_utilisateur")
private Integer id;
@Pattern(regexp = "[\p{L} '-]+",message = "ce champ ne doit pas contenir des
chiffres")
@NotNull
@Column(name = "nom")
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "id_utilisateur")
private List<Reservation> reservations= new ArrayList<>();
@Override
public String toString() {
return "Utilisateur{" +
"id=" + id +
", reservations=" + reservations +
'}';
}
这是我的第二个 class 地形
@Entity(name = "terrains")
public class Terrain {
@Id @GeneratedValue
@Column(name = "id_terrain")
private Integer id;
@NotNull
@Size(min = 3, max = 25)
@Column(name = "nom_terrain")
@TerrainUnique(message = "terrain deja existant")
private String nomTerrain;
@Column(name = "actif")
private boolean actif;
@ManyToOne
@JoinColumn(name = "id_utilisateur")
private Utilisateur utilisateur;
我还有第三个class也有保留
@Id @GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "date_creation_reservation")
@ManyToOne
@JoinColumn(name = "id_utilisateur")
private Utilisateur utilisateur;
@ManyToOne
@JoinColumn(name = "id_terrain")
private Terrain terrain;
@ManyToOne
@JoinColumn(name = "id_tarif")
private Tarif tarif;
@Override
public String toString() {
return "Reservation{" +
"id=" + id +
", dateCreationReservation=" + dateCreationReservation +
", dateReservation=" + dateReservation +
", heureDebut=" + heureDebut +
", heureFin=" + heureFin +
", actif=" + actif +
", optional=" + optional +
", utilisateur=" + utilisateur +
", terrain=" + terrain +
", tarif=" + tarif +
'}';
}
当我尝试打印我的列表时出现错误
当尝试在我的控制器层次中显示此列表时,我的代码是:
@GetMapping("/liste")
public String showTerrains(Model model){
//is like terrainsRepository.findAll()
terrains=metierTerrain.showTerrain();
System.out.println("voici la liste des terrains"+terrains);
// System.out.println( "voici la personne qui a ajouté le
terrain"+terrain.getUtilisateur() );
model.addAttribute("terrains", terrains);
return "terrains/listeTerrains";
}
我知道错误来自地形中的这个映射 Class 但不知道为什么以及如何修复这个
@Entity(name = "terrains")
public class Terrain {
@ManyToOne
@JoinColumn(name = "id_utilisateur")
private Utilisateur utilisateur;}
您可以看到我的错误图片
error
hier 是我数据库中的图像
data base eer
如果你能为我的问题提供解决方案,我将不胜感激
提前谢谢你
WhosebugError
是因为您(隐含地)从 Terrain#toString
调用 Utilisateur#toString
调用 Utilisateur#toString
调用 Terrain#toString
调用 Utilisateur#toString
调用 Terrain#toString
...
编辑;它不是 Terrain
,而是 Reservation
,如下面的评论所述。
我是 spring 的新手,我的映射 class 有问题。 当我想串一个集合时,我有一个奇怪的错误,比如 WhosebugError: null
这是我的第一个实体。
@Entity(name = "utilisateurs")
public class Utilisateur {
@Id @GeneratedValue
@Column(name = "id_utilisateur")
private Integer id;
@Pattern(regexp = "[\p{L} '-]+",message = "ce champ ne doit pas contenir des
chiffres")
@NotNull
@Column(name = "nom")
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "id_utilisateur")
private List<Reservation> reservations= new ArrayList<>();
@Override
public String toString() {
return "Utilisateur{" +
"id=" + id +
", reservations=" + reservations +
'}';
}
这是我的第二个 class 地形
@Entity(name = "terrains")
public class Terrain {
@Id @GeneratedValue
@Column(name = "id_terrain")
private Integer id;
@NotNull
@Size(min = 3, max = 25)
@Column(name = "nom_terrain")
@TerrainUnique(message = "terrain deja existant")
private String nomTerrain;
@Column(name = "actif")
private boolean actif;
@ManyToOne
@JoinColumn(name = "id_utilisateur")
private Utilisateur utilisateur;
我还有第三个class也有保留
@Id @GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "date_creation_reservation")
@ManyToOne
@JoinColumn(name = "id_utilisateur")
private Utilisateur utilisateur;
@ManyToOne
@JoinColumn(name = "id_terrain")
private Terrain terrain;
@ManyToOne
@JoinColumn(name = "id_tarif")
private Tarif tarif;
@Override
public String toString() {
return "Reservation{" +
"id=" + id +
", dateCreationReservation=" + dateCreationReservation +
", dateReservation=" + dateReservation +
", heureDebut=" + heureDebut +
", heureFin=" + heureFin +
", actif=" + actif +
", optional=" + optional +
", utilisateur=" + utilisateur +
", terrain=" + terrain +
", tarif=" + tarif +
'}';
}
当我尝试打印我的列表时出现错误
当尝试在我的控制器层次中显示此列表时,我的代码是:
@GetMapping("/liste")
public String showTerrains(Model model){
//is like terrainsRepository.findAll()
terrains=metierTerrain.showTerrain();
System.out.println("voici la liste des terrains"+terrains);
// System.out.println( "voici la personne qui a ajouté le
terrain"+terrain.getUtilisateur() );
model.addAttribute("terrains", terrains);
return "terrains/listeTerrains";
}
我知道错误来自地形中的这个映射 Class 但不知道为什么以及如何修复这个
@Entity(name = "terrains")
public class Terrain {
@ManyToOne
@JoinColumn(name = "id_utilisateur")
private Utilisateur utilisateur;}
您可以看到我的错误图片 error
hier 是我数据库中的图像 data base eer
如果你能为我的问题提供解决方案,我将不胜感激 提前谢谢你
WhosebugError
是因为您(隐含地)从 Terrain#toString
调用 Utilisateur#toString
调用 Utilisateur#toString
调用 Terrain#toString
调用 Utilisateur#toString
调用 Terrain#toString
...
编辑;它不是 Terrain
,而是 Reservation
,如下面的评论所述。