Hibernate&ejb3 . part3.
-
Upload
asya-dudnik -
Category
Education
-
view
13 -
download
0
Transcript of 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
• 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;• }• }•
Бизнес - модель данных
• 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>
•
• 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
• Успехов!