在插入之前,我需要在其他列上使用@Id @GeneratedValue(strategy = GenerationType.IDENTITY)

时间:2014-11-14 11:44:22

标签: hibernate postgresql jpa

我有一个实体,主键如下面的“id”。随着这个实体的发展,我有另一个专栏,将这个实体分组到该组的第一个“id”。

简而言之,如果“idstore”为null,则应使用“id”值插入第二列“idstore”,否则使用“idstore”值。我怎样才能用Hibernate实现这个目标?我正在使用Hibernate 4.0.1

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Integer id;
@Column(nullable=flase)
Integer idstore;

这个想法是在db中有一个类似的情况(假设两个id为1和3的组)

+----+---------+
| id | idstore | 
+----+---------+
|  1 |       1 |
+----+---------+
|  2 |       1 |
+----+---------+
|  3 |       3 |
+----+---------+
|  4 |       1 |
+----+---------+
|  5 |       3 |
+----+---------+

由于没有回答,我不知道如何使用JPA处理这个问题所以我在数据库上添加了一个Trigger来完成这项工作。不漂亮,但只是快速出路。

1 个答案:

答案 0 :(得分:0)

请查看this link

相信@PrePersist可以在这种情况下帮助你。