阻止用户设置JPA / Hibernate Entity的id

时间:2016-11-20 06:27:31

标签: spring hibernate jpa

如何阻止某人创建实体并设置其ID?我想推迟数据库自动增量,如果它发生,它会抛出409错误。我正在尝试@GeneratedValue(strategy = GenerationType.IDENTITY)和@GeneratedValue(strategy = GenerationType.AUTO)与数据库自动增量中的主键,但id的设置永远不会被标记为问题,并将覆盖我的自动增量方案mysql数据库。

2 个答案:

答案 0 :(得分:2)

您可以做的一件事是:制作id property and its setter method private,不允许用户访问您对象的setId方法,

但是,由于Hibernate使用set方法初始化您从数据库中读取的实体,因此它可以使用反射访问此方法。所以你不必担心改变任何其他事情。

答案 1 :(得分:0)

嗨,也许你只能对id有一个吸气剂,但我不知道hibernate / jpa