We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Estou fazendo uns testes com demoiselle 3. Notei que o método mergeHalf (baseado em PATCH) do AbstractDAO parece incompleto e errado.
mergeHalf
AbstractDAO
entityClass
entity
Abaixo segue uma implementação sugerida que vai direto no field com mapped column...
try { StringBuilder sb = new StringBuilder(); sb.append("UPDATE "); sb.append(entity.getClass().getCanonicalName()); sb.append(" SET "); for (Field method : entity.getClass().getDeclaredFields()) { method.setAccessible(true); if (method.isAnnotationPresent(Column.class)) { Object obj = method.get(entity); if (obj != null) { sb.append(method.getName()).append(" = ").append(obj).append(","); } } } if (sb.toString().endsWith(",")) { int i = sb.lastIndexOf(","); sb.delete(i, i + 1); // TODO ainda falta testar chaves multiplas com @EmbeddedId sb.append(" WHERE ").append(CrudUtilHelper.getMethodAnnotatedWithID(entity.getClass())).append(" = ") .append(id); getEntityManager().createQuery(sb.toString()).executeUpdate(); } return entity; } catch (Exception e) { throw new DemoiselleCrudException("Não foi possível salvar", e); }
Att. Emanuel Motta Grohs
[UPDATE - Merlin]: apenas formatei o código pra ficar mais amigável ;)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Estou fazendo uns testes com demoiselle 3. Notei que o método
mergeHalf
(baseado em PATCH) doAbstractDAO
parece incompleto e errado.entityClass
ao invés da instânciaentity
Abaixo segue uma implementação sugerida que vai direto no field com mapped column...
Att. Emanuel Motta Grohs
[UPDATE - Merlin]: apenas formatei o código pra ficar mais amigável ;)
The text was updated successfully, but these errors were encountered: