spring - 不使用 thymeleaf、spting 数据和 r2dbc 持久化实体
问题描述
我试图通过 Thymeleaf 表单创建技能实体并将其发布:
控制器的端点
@PostMapping("/add") public String addSkill(@ModelAttribute Skill skill){ log.info( " orly? "+ (skill== null)); log.info(skill.getName() + " name was set"); log.info(skill.getId() + " i<--d"); log.info(skill.getLevel() + " level was set"); log.info(skill.getPriority() + " prior was set"); log.info(skill.getSkillGroupName() + " group id was set"); service.add(skill); return TEMPLATE;
}
服务方式
@Override public Mono<Skill> add(Skill skill) { log.debug("SKILL IS ______ "+ skill.getName() + " ____WAS SAVED"); return repository.save(skill); }
回购
@Repository public interface SkillRepository extends ReactiveCrudRepository<Skill, UUID> { Mono<UUID> removeById(UUID id); }
实体实现 Persistable
@Data @Table @NoArgsConstructor @AllArgsConstructor public class Skill implements Persistable<UUID> { @Id private UUID id; @Column("skill_name") private String name; private Level level; private Priority priority; @Column("skill_group_name") private String skillGroupName; @Override public boolean isNew() { boolean result = Objects.isNull(id); this.id = result ? UUID.randomUUID() : this.id; return result; }
}
主类使用@EnableR2dbcRepositories 进行注释。当我提交表单时,我得到了日志,确认实体不为空,除 id 之外的所有字段都不为空。就是这样,服务的方法 add(Skill Skill) 永远不会产生日志,postgres 也不会显示元组。有任何想法吗?
解决方案
推荐阅读
- javascript - 创建简单的计算器
- c++ - 将 extern C 关键字用于 C++ 中的特定标头是否允许从 void* 转换为 char*?
- c++ - 如何制作和使用makefile winidows Nomad open solver
- javascript - 页面加载时触发一次点击
- mongodb - Mongo DB 更新查询
- ruby-on-rails - 我可以在我的 RSpec 测试中实现依赖注入吗?
- git - 如何为测试用例创建 git pull --rebase 冲突?
- twitter-bootstrap - 运行“npm run dist”以构建 bootstrap4 时出错
- html - 按下一个按钮到一个 css div 块
- c# - 使用 CancellationToken 和 Ctrl+C 取消多个 HttpClient 调用