public static String getOrderClause(JavaClass<?> entity, char entityVariable) { StringBuilder expressionBuilder = new StringBuilder(); // Add the ORDER BY clause for (Member<?> member : entity.getMembers()) { if (member.hasAnnotation(Id.class)) { String memberName = member.getName(); String id = null; if (member instanceof Method) { // Getters are expected to obey JavaBean conventions id = Strings.uncapitalize(memberName.substring(3)); } if (member instanceof Field) { id = memberName; } expressionBuilder.append("ORDER BY "); expressionBuilder.append(entityVariable); expressionBuilder.append('.'); expressionBuilder.append(id); } } return expressionBuilder.toString(); }
if (member.hasAnnotation(Id.class)) String name = member.getName(); String type = null; if (member instanceof Method) else if (type != null && member.isPublic()) String memberName = member.getName();
public static String resolveIdType(JavaClass<?> entity) { for (Member<?> member : entity.getMembers()) { if (member.hasAnnotation(Id.class)) { if (member instanceof Method) { return ((Method<?, ?>) member).getReturnType().getName(); } if (member instanceof Field) { return ((Field<?>) member).getType().getName(); } } } return "Object"; } }
if (member.hasAnnotation(OneToOne.class) || member.hasAnnotation(OneToMany.class) || member.hasAnnotation(ManyToMany.class) || member.hasAnnotation(ManyToOne.class)) String name = member.getName(); String associationField = null; if (member instanceof Method) throw new RuntimeException("Could not compute the association field for member:" + member.getName() + " in entity" + entity.getName());
public static String getIdClause(JavaClass<?> entity, String entityTable) { for (Member<?> member : entity.getMembers()) { if (member.hasAnnotation(Id.class)) { String memberName = member.getName(); String id = null; if (member instanceof Method) { // Getters are expected to obey JavaBean conventions id = Strings.uncapitalize(memberName.substring(3)); } if (member instanceof Field) { id = memberName; } char entityVariable = getJpqlEntityVariable(entityTable); return "WHERE " + entityVariable + "." + id + " = " + ":entityId"; } } return null; }