java jpa save,spring boot jpa.save()更新所有记录

我有一个实体类警报,当我创建一个新警报并保存它时,它用匹配的参数替换所有行,读取和优先级在警报实体中可以重复。下面是alert.class的代码。怎么了?

package com.github.entity;

import javax.persistence.*;

import java.util.UUID;

@Entity

public class Alert {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(columnDefinition = "serial")

private int u_id;

@Embedded

@ManyToOne(targetEntity = Reading.class)

@JoinColumn(name = "vin")

private Reading reading;

private String priority;

private UUID uuid;

public Reading getReading() {

return reading;

}

public void setReading(Reading reading) {

this.reading = reading;

}

public UUID getUuid() {

return uuid;

}

public void setUuid(UUID uuid) {

this.uuid = uuid;

}

public String getPriority() {

return priority;

}

public void setPriority(String priority) {

this.priority = priority;

}

}

我正在保存如下警报:

Alert alert = new Alert();

alert.setUuid(uuid);

alert.setReading(reading);

if (alert.getPriority().equals("High") || alert.getPriority().equals("Low") || alert.getPriority().equals("Medium"))

alertRepository.save(alert);

更新的详细信息1:

首先,我根据条件在警报表中插入一条记录。那么

我再次插入一个自动生成的新id,但是

相同的警报参数(读数,优先级)除了时间戳。当我

保存alert对象,就像上面所有的记录都被更新一样

在数据库中。

时间戳是一个读数字段

vin是读数的id

更新3:我认为这是因为我创建警报实体的方式。我正在使用drools、java规则和insert row。我已经创建了全球警报。我现在改了这个。

下面是我的规则,我应该在规则中的何处/如何创建警报实体以保持:

rule "engine RPM"

when

alert: Alert()

reading: Reading()

vehicle: Vehicle(getVin() == reading.getVin(), getRedlineRpm() < reading.getEngineRpm())

then

new Alert().setPriority("High");

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值