Hibernate&EJB3 Studybook For students of university Author Sr.Java developer Dudnik Oxana
Student //Entity annotation represents that it is an entity //class and is //mapped to a table in database. Table //annotation tells about the //table name to which this entity public class Student { //Id will correspond the primary key in the //database private Long id; protected String name; //Id - Represents that it is a primary key column //GeneratedValue - How the key to be //generated //column - Column to which this property = public Long getId() { return id; } public void setId(Long id) { this.id = id; } //There is annotation here so by default it is //mapped to //the column with name NAME. In annotation, //the properties are //by default mapped. In XML mapping by //default the columns //are not mapped. public String getName() { return name; } public void setName(String name) { this.name = name; } Бизнес - модель данных
persistence.xml (Put in META-INF folder under source folder) org.hibernate.ejb.HibernatePers istence
public class HibernateMappingJPA { public static void main(String[] args) { //The name hibernateMapping comes from persistence.xml EntityManagerFactory emf = Persistence.createEntityManagerFactory ("hibernateMapping"); EntityManager em =emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); Student student = new Student(); student.setName("James Bond"); em.persist(student); Query query = em.createQuery("Select s from Student s where s.name like ?"); query.setParameter(1, "James%"); List studentList=query.getResultList(); for(Student s :studentList){ System.out.println(s.getName()); } tx.commit(); em.close(); } Note that we do not have to map the entity class explicitly as these are scanned automatically based on annotation. More write-ups More write-ups
Успехов!