Sim, você pode usar hibernate, seria algo mais ou menos assim:
Não sei se o hibernate suporta o access nativamente, então vou fazer o exemplo com MySQL, mas só muda o arquivo de configuração.
Veja que não tem um dialect para Access:
http://www.hibernate.org/hib_docs/v3/reference/en/html/session-configuration.html#configuration-optional-dialects
Você teria que criar um, ou achar alguma implementação, só ia complicar.
A entidade que será persistida:
package pojo;
public class Cliente {
private long id;
private String nome;
private String email;
private String telefone;
//get & set
}
O arquivo de mapeamento (se estiver usando annotations não precisa dele):
Caminho do arquivo: pojo/Cliente.hbm.xml
<hibernate-mapping>
<class name="pojo.Cliente" table="CLIENTES">
<id name="id">
<generator class="native" />
</id>
<property name="nome" />
<property name="email" />
<property name="telefone" />
</class>
</hibernate-mapping>
O arquivo de configuração do hibernate:
Caminho: <raiz do codigo>/hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">org.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/banco_teste</property>
<property name="connection.username">usuario_banco</property>
<property name="connection.password">senha_banco</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="pojo/Cliente.hbm.xml"/>
</session-factory>
</hibernate-configuration>
O DAO:
public interface ClienteDao {
public void insert(Cliente cli);
public Cliente findById(long id);
//outros metodos
}
Implementação do DAO para hibernate:
public class ClienteDaoHibernate implements ClienteDao {
private SessionFactory sessionFactory;
public void insert(Cliente cli) {
try{
Session session = sessionFactory.getCurrentSession();
session.save(cli);
session.close();
}catch(HibernateException he){
he.printStackTrace();
//tratar direito :P
}
}
public Cliente findById(long id){
Cliente cli = null;
try{
Session session = sessionFactory.getCurrentSession();
cli = (Cliente) session.get(Cliente.class, cli);
session.close();
}catch(HibernateException he){
he.printStackTrace();
}
return cli;
}
}
E o DAO Factory:
public class DaoFactory {
private static DaoFactory instance = new DaoFactory();
private SessionFactory sf;
private DaoFactory(){
try{
sf = new Configuration().configure().buildSessionFactory();
} catch( HibernateException he){
he.printStackTrace();
}
}
public static DaoFactory getInstance(){
return instance;
}
public ClienteDao makeClienteDao(){
return new ClienteDaoHibernate(sf);
}
}
Na hora de usar:
Cliente cli = new Cliente();
cli.setNome("Jair");
cli.setEmail("[email removido]");
cli.setTelefone("(31) 555-1234");
ClienteDao cdao = DaoFactory.getInstance().makeClienteDao();
cdao.insert(cli);
Digitei esse codigo direito aqui, sem testar, por isso deve ter varios erros, mas já serve de base.
E logico que esse codigo é bem basico, há muitas coisas que podem ser melhoradas, como o uso de um dao generico, com generics, o tratamento de exceções que está bem ruim, o dao factory que pode ser substituido por injeção de dependencias, ou pelo menos bastante melhorado, etc, etc...
Mas como você está começando, já serve pra você ver como funciona.