如果把“strategy = GenerationType.SEQUENCE”改为Peformance

时间:2017-08-21 07:38:16

标签: jpa

从两个语法A和B.是否有任何性能变化,如果没有来自A语句的策略属性。

A)

@GeneratedValue(generator = "titleListMapSeq" ,strategy=GenerationType.SEQUENCE)
@SequenceGenerator(name = "titleListMapSeq", sequenceName = "title_list_map_seq")
private Long id;

B)

@GeneratedValue(generator = "titleListMapSeq")
@SequenceGenerator(name = "titleListMapSeq", sequenceName = "title_list_map_seq")
private Long id;

2 个答案:

答案 0 :(得分:1)

两者都是一样的,如果你把@SequenceGenerator,它将默认调用" strategy = GenerationType.SEQUENCE"。

答案 1 :(得分:0)

这取决于JPA提供商。 如Javadoc for GeneratedValue所示,策略参数是可选的,默认为javax.persistence.GenerationType.AUTO

  

表示持久性提供程序应为特定数据库选择适当的策略。 AUTO生成策略可能期望存在数据库资源,或者它可能尝试创建数据库资源。供应商可以提供有关如何在不支持模式生成或无法在运行时创建模式资源的情况下创建此类资源的文档。