(EclipseLink) JPA 忽略@TableGenerator 的自定义 table
(EclipseLink) JPA ignores custom table for @TableGenerator
我正在使用一个数据库,其中每个 table 都必须有前缀(公司政策)。
我的实体具有以下 Id 注释
@TableGenerator(name = "x_gen", table = "pfx_sequence", pkColumnName = "sequence", valueColumnName = "counter", pkColumnValue = "table_x_seq")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "x_gen")
其中 "x" 被替换为每个 table。
问题是,当 EclipseLink 尝试更新 table 时,它会使用默认值(table SEQUENCE,列 SEQ_NAME 和 SEQ_COUNT)
Error Code: 1146
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
bind => [2 parameters bound]
Query: DataModifyQuery(name="pe_genk" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")
Caused by: java.sql.SQLSyntaxErrorException: Table 'my_schema.SEQUENCE' doesn't exist
知道去哪里看吗?
谢谢
问题是我的一个实体拼写错误。
例
@TableGenerator(name = "x_gen" [...])
@GeneratedValue(generator="x_genn" [...])
我正在使用一个数据库,其中每个 table 都必须有前缀(公司政策)。
我的实体具有以下 Id 注释
@TableGenerator(name = "x_gen", table = "pfx_sequence", pkColumnName = "sequence", valueColumnName = "counter", pkColumnValue = "table_x_seq")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "x_gen")
其中 "x" 被替换为每个 table。
问题是,当 EclipseLink 尝试更新 table 时,它会使用默认值(table SEQUENCE,列 SEQ_NAME 和 SEQ_COUNT)
Error Code: 1146
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
bind => [2 parameters bound]
Query: DataModifyQuery(name="pe_genk" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")
Caused by: java.sql.SQLSyntaxErrorException: Table 'my_schema.SEQUENCE' doesn't exist
知道去哪里看吗?
谢谢
问题是我的一个实体拼写错误。
例
@TableGenerator(name = "x_gen" [...])
@GeneratedValue(generator="x_genn" [...])