JPA身份生成策略
JPA身份生成策略,jpa,eclipselink,Jpa,Eclipselink,@GeneratedValue(策略)序列的默认名称是什么= GenerationType.SEQUENCE)我可以强制所有实体使用不同的 序列,并为该序列提供自定义名称生成器 是否可以以编程方式为提供方法 @GeneratedValue(strategy=GenerationType.AUTO)在 @GeneratedValue(策略=GenerationType.IDENTITY)和 @GeneratedValue(策略=GenerationType.SEQUENCE)除了 自定义orm.x
@GeneratedValue(策略)序列的默认名称是什么=
GenerationType.SEQUENCE)
我可以强制所有实体使用不同的
序列,并为该序列提供自定义名称生成器
@GeneratedValue(strategy=GenerationType.AUTO)
在
@GeneratedValue(策略=GenerationType.IDENTITY)
和
@GeneratedValue(策略=GenerationType.SEQUENCE)
除了
自定义orm.xml文件此应用程序可以使用SQL Server或PostgreSQL。在SQL Server模式下,使用
@GeneratedValue(strategy=GenerationType.IDENTITY)
。我当前的代码库正在使用它。现在我必须提供对postgresql的支持,其中使用序列生成的标识。我想用orm.xml覆盖它。所有序列都被命名(table_name)_seq,因此自动生成名称将节省大量样板xml。AUTO由JPA提供程序定义。你无法控制它。选择AUTO将控制传递给provider.orm.xml是您的JPA友好的覆盖细节的方法,但是您可以使用EclipseLink定制器,如下所示:对于定制器。我没有一个在描述符上设置序列的公开示例,但是描述符javadoc可以帮助您实现这一点,或者您可以向每个类添加命名的序列,并注册特定于平台的序列,如图所示。谢谢Chris,这是值得研究的。