我有一个名为Employee的实体
@Entity
public Employee implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Long id;
@Basic(optional = false)
@Column(name = "name")
private String name;
@Basic(optional = false)
@Column(name = "target")
private int target;
}
现在我想要实现的是,每当我坚持使用相同名称的员工而不是创建新记录时,我希望目标增加。
例如如果我坚持雇员两次如下:
Employee e1 = new Employee();
e1.setName("John");
em.persit();
目标应该是1现在
然后如果我这样做:
Employee e2 = new Employee();
e1.setName("John");
em.persit();
目标会自动增加,现在它的值应该是2.因为名字John的员工已经在表中了。
答案 0 :(得分:1)
如果你的数据库支持触发,它应该是要走的路! mysql例如https://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html。
除此之外,我不知道如何自动完成,您需要查询具有相同名称的员工,然后为新员工设置正确的目标。