在JPA中是否有某种方法可以根据其他值自动增加列

时间:2015-10-08 04:37:05

标签: java jpa

我有一个名为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的员工已经在表中了。

1 个答案:

答案 0 :(得分:1)

如果你的数据库支持触发,它应该是要走的路! mysql例如https://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html

除此之外,我不知道如何自动完成,您需要查询具有相同名称的员工,然后为新员工设置正确的目标。