问题
I need to change column names for all fields at runtime. I use eclipselink and do it via SessionCustomizer
.
However, I can change column names for usual
columns, those which are not in any relations.
Now I have a field in @ManyToOne relation and defines its column using @JoinColumn(name = "thisColumnToChage"). How to do it? This is my code:
private void setNameMaping(ClassDescriptor desc){
desc.setTableName(NEW TABLE NAME);
//setting columns for fields
for (DatabaseMapping mapping : desc.getMappings()) {
if (mapping.isDirectToFieldMapping()) {
directMapping.getField().resetQualifiedName(NEW COLUM NAME);
}else if (mapping.isManyToOneMapping()){
ManyToOneMapping manyToOneMapping=(ManyToOneMapping)mapping;
WHAT IS HERE?
}
}
}
来源:https://stackoverflow.com/questions/37226244/eclipselink-set-column-name-for-joincolumnname-at-runtime