Hibernate&ejb3 . part3.

6
Hibernate&EJB3 Hibernate&EJB3 Studybook Studybook For students of university For students of university Author Sr.Java developer Author Sr.Java developer Dudnik Oxana Dudnik Oxana

Transcript of Hibernate&ejb3 . part3.

Page 1: Hibernate&ejb3 . part3.

Hibernate&EJB3Hibernate&EJB3

StudybookStudybookFor students of universityFor students of university

Author Sr.Java developer Dudnik Author Sr.Java developer Dudnik Oxana Oxana

Page 2: Hibernate&ejb3 . part3.
Page 3: Hibernate&ejb3 . part3.

• 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 is mapped• @Entity• @Table(name="Student")• 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 is //mapped•     @Id•     @GeneratedValue(strategy = GenerationType.AUTO)•     @Column(name="STUDENT_ID")    •     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;•     }• }•

Бизнес - модель данных

Page 4: Hibernate&ejb3 . part3.

• persistence.xml (Put in META-INF folder under source folder)

<?xml version="1.0" encoding="UTF-8"?>

• <persistence version="1.0"

•              xmlns="http://java.sun.com/xml/ns/persistence"

•              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

•              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence

•              http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">

•   <persistence-unit name="hibernateMapping">

•         <provider>org.hibernate.ejb.HibernatePersistence</provider>

•         <properties>

•            <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/>

•            <property name="hibernate.connection.url" value="jdbc:hsqldb:hsql://localhost"/>

•             <property name="hibernate.connection.username" value="sa"/>

•             <property name="hibernate.connection.password" value=""/>

•         </properties>

•     </persistence-unit>

• </persistence>

Page 5: Hibernate&ejb3 . part3.

• 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<Student> 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 the @Entity annotation.

More write-ups

Page 6: Hibernate&ejb3 . part3.

• Успехов!