我正在使用 OpenJPA 并使用 orm.xml 进行映射。在某些情况下,我的列名长度超过一定数量的字符,然后 jpql 在生成 sql 查询时将列名生成为最多一定数量的字符。
如果我有如下映射
<entity name="OneOffSystemTemplateVariableValue" class="financing.tools.docgen.models.OneOffSystemTemplateVariableValue">
<table name="modification_variable_values"/>
<attribute-override name="id">
<column name="modification_variable_values_id"/>
</attribute-override>
.....
</attributes>
</entity>
当我运行一个简单的查询时OneOffSystemTemplateVariableValue
,它生成了我的查询,如下所示
SELECT t0.**MODIFICATION_VARIABLE_VALUES_I**, t0.create_timestamp, t0.create_id, t0.last_update_timestamp, t0.last_update_id, t0.modification_object_id, t0.variable_name, t0.variable_value FROM Administrator.modification_variable_values t0 WHERE t0.one_off_template_id = ?
如果我 MODIFICATION_VARIABLE_VALUES_ID
将列名更改为 MOD_VARIABLE_VALUES_ID ,那么我的查询效果很好。
所以生成的 sql 不采用完整的列名长度。
我没有maxColumnNameLength
在我的应用程序中设置任何地方。
你能告诉我如何设置列名长度的值,这样我就不会遇到这个问题。