任务:您需要检查一个人是否可以在给定日期预订公寓,如果可以,则将其保存在数据库中,如果不能,则不保存任何内容。我的代码版本结果是错误的,我完全不明白如何最好地实现这个过程,我什至没有任何想法。 代码。如果不需要答案,我会删除它。
@PostMapping("/rent")
@PreAuthorize("hasAuthority('user:write')")
public void homeRent(@RequestBody ContractDto contractDto) {
Contract contract = new Contract();
House house = houseRepository.findById(contractDto.getId_house()).orElseThrow();
Set<Contract> temp = house.getContract();
for(Contract s:temp) {
System.out.println(s.getStart_date());
if(s.getStart_date().equals("")) {
System.out.println("null");
}
}
错了,费多叔叔,吃个三明治
在编码之前,有必要绘制数据库的结构。在这种情况下,您有一个表
User
、一个表House
(公寓)和一个Contract
记录合同的表。在不深入研究Boyce-Codd 定理的丛林的情况下,数据库结构大致如下(不言自明的伪代码)或多或少是显而易见的:现在我们为给定公寓的可用性编写一个 SQL 查询,如下所示(再次,半伪代码):
该查询返回免费公寓列表。如果指定的公寓列表是所需的,那么我们保存它。
有了这些知识,以 HQL 或程序代码的形式对所有内容进行编码已经变得更加容易
Hibernate
——这不再重要。