我正在使用 RestController ,服务 存储库和实体来处理Spring启动应用程序。
我的问题是,当我调用Web服务将数据保存在数据库中时,它似乎工作正常并且没有抛出异常但是当我检查我的数据库时,我发现表已创建,但我发现没有数据保存。这是我在输出中得到的(对于我的列表中的每个元素):
休眠: 插入 成 TABLE_NAME (columnOne,columnTwo) 值 (?,?)
这是我的代码:
RestController :
@RestController
@RequestMapping(path = "/api/")
public class myController {
@Autowired
private MyService myService;
@PostMapping(path="/inject/{year}")
public void myControllerMethod(@PathParam("year") Year year) {
this.myService.myServiceMethod(year);
}
}
服务:
@Service
public class MyService {
@Autowired
MyRepository myRepository;
public void myServiceMethod(Year year) {
List<MyEntity> myEntityList = this.parseMyEntityList(year);
this.myRepository.save(myEntityList)
}
}
存储库:
@Repository
public interface MyRepository extends CrudRepository<MyEntity, Long>, JpaSpecificationExecutor<InseeLibelle> {
}
实体:
@Entity
@Table(name = "table_name", indexes = {
@Index(name = "columnOne_idx", columnList = "columnOne"),
@Index(name = "columneTwo_idx", columnList = "columnTwo"),
})
public class MyEntity{
@JsonIgnore
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long columnId;
@Column
private Integer columnOne;
@Column
private String columnTwo;
public Integer getColumnOne() {
return columnOne;
}
public void setColumnOne(Integer columnOne) {
this.columneOne = colmunOne;
}
public String getColumnTwo() {
return columnTwo;
}
public void setColumnTwo(String columnTwo) {
this.columnTwo = columnTwo;
}
}
我尝试在存储库中添加此行,但它也不起作用:
<S extends MyEntity> Iterable<S> save(Iterable<S> entities) ;
答案 0 :(得分:0)
也许问题在于pgAdmin(就像我的情况一样),它没有显示数据,但它们存在于数据库中,在存储库中尝试 findAll 方法或使用选中它们进行检查* 直接。