我有两个班Product和Categorie。如categoryRepository.save(c1)以下代码所示,当我要修改categorie中的产品列表时,会发生此错误:
java.lang.StackOverflowError: null
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:449) ~[na:1.8.0_191]
at java.lang.StringBuilder.append(StringBuilder.java:136) ~[na:1.8.0_191]
at org.sid.entities.Product.toString(Product.java:12) ~[classes/:na]
at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_191]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_191]
at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_191]
at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_191]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_191]
at org.sid.entities.Categorie.toString(Categorie.java:15) ~[classes/:na]
at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_191]
Run Code Online (Sandbox Code Playgroud)
@Document
@Data @AllArgsConstructor @NoArgsConstructor @ToString
public class Categorie {
@Id
private String id;
private String name;
@DBRef
@JsonIgnore
private Collection<Product> products=new ArrayList<>();
@Document
@Data @AllArgsConstructor @NoArgsConstructor @ToString
public class Product {
@Id
private String id;
private String name;
private double price; …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Java 中使用流,我有一个学生课程:
@Entity
@Data @AllArgsConstructor @NoArgsConstructor
public class Student {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
Run Code Online (Sandbox Code Playgroud)
我添加了一些学生:
Stream.of("John","Sophie","emilia").forEach(s->{
studentRepository.save(new Student(s));
});
Run Code Online (Sandbox Code Playgroud)
问题出在以下代码中:
int[] empIds = { 1, 2, 3 };
List<Student> students= Stream.of(empIds)
.map(studentRepository::findById).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我收到此错误:方法引用中的返回类型错误:无法将 java.util.Optional 转换为 R。我的 IDE 在 studentRepository::findById 下划线。非常感谢。