【发布时间】:2018-01-19 17:42:23
【问题描述】:
我正在使用一个数据库,其中每个表都必须加上前缀(公司政策)。
我的实体对 Id 有以下注释
@TableGenerator(name = "x_gen", table = "pfx_sequence", pkColumnName = "sequence", valueColumnName = "counter", pkColumnValue = "table_x_seq")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "x_gen")
每个表都替换了“x”。
问题在于,当 EclipseLink 尝试更新表时,它会使用默认值(表 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
知道去哪里看吗?
谢谢
【问题讨论】:
-
堆栈跟踪和日志应该会有所帮助。 EclipseLink 日志应该显示它在查看您的实体及其上的排序时正在处理的内容,因为它似乎没有找到或使用您的注释。
-
我只是在看那个。谢谢,问题是其中一个实体中的生成器名称拼写错误。我想我(我)累了。
标签: java jpa eclipselink