java - 使用带有 Spring Boot 的 Apache camel 和 JPA 时无法更新表中的数据
问题描述
我正在尝试使用来自表 Example 的消息并尝试更新存储库中选定数据的状态,但数据未保存在 Table Example 中。任何人都可以帮助我,是否缺少任何配置?
我的路由配置是:
from("jpa://com.example.JPACamelBoot.entity.Example?consumer.namedQuery=selectQuery&consumer.delay=10000&consumeDelete=false")
.process(myProcessor);
我的实体文件是:
@Entity
@Table(name="EXAMPLE")
@NamedQuery(name="selectQuery", query="SELECT e FROM Example e where e.status=2")
public class Example implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="NAME")
private String name;
@Column(name="AGE")
private Integer age;
@Column(name="LOCATION")
private String location;
@Column(name="STATUS")
private Integer status;
在 MyProcessor.java 中,我正在执行如下所述的更新功能:
@Autowired
private ExampleRepository exampleRepository;
public void process(Exchange exchange) throws Exception {
try {
Message in = exchange.getIn();
Example example=in.getBody(Example.class);
Example exm= null;
exm=exampleRepository.findById(example.getName()).orElse(null);
exm.setStatus(1);
Example exam =exampleRepository.save(exm);
System.out.println(exam.getStatus());
在命名查询中,当我打印 System.out.println(exam.getStatus()); 时,我使用“SELECT e FROM Example e where e.status=2” // 输出 1 但同样没有在数据库中更新。
我正在使用 apache camel 2.22.0 和 Spring boot 2.0.4.RELEASE 。
解决方案
推荐阅读
- java - 在 Apache Beam 中测试模式更新
- reactjs - 将 Fetch 转换为 Axios API 调用以进行身份验证
- c++ - 通过枚举成员名称调用 c++ 类
- javascript - 在循环中使用按钮切换 Span 类
- machine-learning - 在 KNeighborsClassifier 上获得奇怪的准确度 1
- python - python到exe文件上的“没有名为pygame的模块”
- redis - redis-cli 不会将请求重定向到启用了集群模式的 redis 并启用了 in-transit
- unity3d - 使用 Unity 的新输入系统移动玩家
- css - 使网站真正响应的问题
- go - 有没有办法使用 Go 标准工具在给定目录及其子目录中获取 Go 程序的所有包和依赖项?