Consejos: Netbeans Platform, Hibernate u otras persistencias para aplicaciones de escritorio
Buen dìa a todos, estoy empezando a crear un sistema contable para escritorio en Java y estoy trabajando con Netbeans Platform. Me gustarìa que me aconsejaràn sobre que usar persistencia usar si usar Hibernate u otra. Ademàs el sistema que creare podran abrirla multiples personas se que tendre que usar concurrencias para estos casos. Ojala me puedan aconsejar ya que no tengo mucho tiempo programando en Java.
- Inicie sesión o regístrese para enviar comentarios
Hibernate
Si no llevas mucho tiempo programando en Java puedes practicar, leer tutoriales, etc. en Internent hay mucha información. Creo si es buena elección usar Hibernate para el manejo de la persistencia.
Tecnico programador
jeje creo que no me explique bien, si se programar solo que no tengo mucha experiencia haciendo programas para empresas e ahi mi duda sobre que persistencias me serian mas utiles.
PD: Estoy trabajando con Netbeans Platform
De esta forma estoy trabajando con Netbeans Platform
import com.galileo.netbeans.myentities.Genre;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.openide.modules.ModuleInstall;
public class Installer extends ModuleInstall {
public static EntityManagerFactory EMF;
public static EntityManager EM;
@Override
public void close() {
EM.close();
EMF.close();
}
@Override
public void restored() {
try {
EMF = Persistence.createEntityManagerFactory("Cap29JavaLibraryPU");
EM = EMF.createEntityManager();
} catch (Throwable ex) {
System.err.println("Initial EntityManagerFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
EM.getTransaction().begin();
EM.merge(new Genre(1, "Techno, Trance & Dance"));
EM.merge(new Genre(2, "Rock & Pop"));
EM.merge(new Genre(3, "Country & Classic"));
EM.getTransaction().commit();
}
}
//Sus metodos son los siguientes....................................................
package com.galileo.netbeans.module;
import com.galileo.netbeans.myentities.Genre;
import com.galileo.netbeans.myentities.Album;
import java.util.List;
import javax.persistence.Query;
public class DataModel {
@SuppressWarnings("unchecked")
public static List<Album> getAlbums() {
Installer.EM.getTransaction().begin();
Query q = Installer.EM.createQuery("SELECT a FROM Album a");
List<Album> list = q.getResultList();
Installer.EM.getTransaction().commit();
return list;
}
@SuppressWarnings("unchecked")
public static List<Genre> getGenres() {
Installer.EM.getTransaction().begin();
Query q = Installer.EM.createQuery("SELECT g FROM Genre g");
List<Genre> list = q.getResultList();
Installer.EM.getTransaction().commit();
return list;
}
public static void updateAlbum(Album album) {
Installer.EM.getTransaction().begin();
Installer.EM.persist(album);
Installer.EM.getTransaction().commit();
}
public static void insertAlbum(Album album) {
updateAlbum(album);
}
public static void deleteAlbum(Album album) {
Installer.EM.getTransaction().begin();
Installer.EM.remove(album);
Installer.EM.getTransaction().commit();
}
}