出于某些原因,我希望使用不同的值生成序列,而不是对所有表使用一个序列,例如:
@Entity
public class User {
@Id
@TableGenerator(name = "user", table = "hibernate_sequences", pkColumnName = "sequence_name",
valueColumnName = "next_val", pkColumnValue = "user", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE, generator = "user")
private Integer id;
}
当我的应用程序有更多的表(现在超过50个)时,我希望简化以下代码:
@Entity
public class User {
@Id
@MyTableGenerator(name = "user")
private Integer id;
}
有什么方法可以做到这一点吗?在这种情况下,我想实现两个目标。首先是为注解设置一些默认值(hibernate注解,而不是我的自定义注解)。第二,使用我的一个自定义注解来表示多个hibernate注解。
如果我没有很好地解释我的问题,我很抱歉,请指出它。
发布于 2019-10-21 16:55:21
您可以尝试如下所示:
@Entity
@SequenceGenerator(name = "USER_ID_GENERATOR", sequenceName = "SEQ_USER")
public class User {
@Id
@GeneratedValue(generator = "USER_ID_GENERATOR", strategy = GenerationType.IDENTITY)
private Integer id;
}
https://stackoverflow.com/questions/58482441
复制相似问题