Sou leigo em java e não to conseguindo entender como fazer esse exercicio.Alguem poderia me ajudar com esse exercicio
1)Considere a seguinte classe de domínio e o respectivo serviço:
package domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Version;
@Entity
public class User implements Serializable {
@Id
@GeneratedValue
Integer id;
@Version
Integer version;
String name;
String pass;
public Integer getId() {
return id;
}
public String getName() {
return name;
}
public String getPass() {
return pass;
}
public Integer getVersion() {
return version;
}
public void setId(final Integer id) {
this.id = id;
}
public void setName(final String name) {
this.name = name;
}
public void setPass(final String pass) {
this.pass = pass;
}
public void setVersion(final Integer version) {
this.version = version;
}
}
package services;
import domain.User;
public interface UserService {
User encontrarPorId(Integer id);
User encontrarPorLogin(String login);
void salvar(User user);
void atualizarSenha(Integer id,String novaSenha);
void atualizar(User user);
}
a)Codifique as classes como especificado e crie a implementação da interface em um projeto separado. A implementaçãod deverá ser feita utilizando hibernate e todos seus métodos deverão ser transacionais.
Olá,
Pelo que seu exercicio diz você terá que ter uma transação a partir do seu metodo de serviço, com isso se você chamar um DAO ou N DAOs se um dos metodos gerar um erro
todas as operações anteriores deverão ser desfeitas.
No Spring isso funcioná através de um advice que faz a propagação desta transação entre as camadas da sua aplicação, com isso se você adicionar no seu metodo de serviço ou na Classe
um @Transacional quando alguém chamar esse serviço o Spring irá iniciar uma transação ali e irá propaga-la para o DAO. Quando o metodo de serviço finalizar esse advice do Spring irá
verificar se se houve alguma exception, se sim, ele irá realizar um rollback, senão irá comitar.
A primeira coisa que você tem que fazer é configurar o seu data source, é neste momento que você dirá ao Spring qual o orm que você irá usar na sua aplicação, segue:
Esse arquivo deve ser carregado no seu web.xml, após ele você deve criar o seu application context onde você colocará definições de pacote a ser scaneados etc etc.
E se tiver problemas ou dúvidas posta que a gente vai resolvendo, porque fazer toda a configuração do seu projeto por aqui a gente irá levar um bom tempo fazendo isso! :shock: