
net.cassite.daf4j.jpa.JPQLUEParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of daf4j-ds-jpa Show documentation
Show all versions of daf4j-ds-jpa Show documentation
A library provides implementation of DAF4J DataAccess using JPA
The newest version!
package net.cassite.daf4j.jpa;
import net.cassite.daf4j.UpdateEntry;
import net.cassite.daf4j.ds.ObjectResolver;
import net.cassite.daf4j.ds.UpdateEntryParser;
import net.cassite.daf4j.util.Location;
/**
* 将UpdateEntry解释为JPQL
*/
public class JPQLUEParser implements UpdateEntryParser {
private ObjectResolver objectResolver;
@Override
public void parseUpdateEntry(JPQLContext jpqlContext, UpdateEntry[] updateEntries) throws Exception {
StringBuilder sb = new StringBuilder();
sb.append("UPDATE ").append(jpqlContext.entityClass.getSimpleName()).append(" ").append(jpqlContext.aliasMap.get(new Location(null))).append(" SET ");
boolean isFirst = true;
for (UpdateEntry entry : updateEntries) {
if (isFirst) {
isFirst = false;
} else {
sb.append(", ");
}
sb.append(objectResolver.resolve(jpqlContext, entry.data)).append(" = ").append(objectResolver.resolve(jpqlContext, entry.updateValue));
}
jpqlContext.generalJPQL = sb;
}
@Override
public void setObjectResolver(ObjectResolver objectResolver) {
this.objectResolver = objectResolver;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy