3a.persistence and Serialization
3a.persistence and Serialization
Télécom ParisTech
What is persistence ?
However…
Serialization
That
means that objects can be translated into a
sequence of bytes and saved somewhere.
import java.io.* ;
import java.io.* ;
• An array of bytes.
// Declaring a variable
MyData data ;
By
default, the ObjectOutputStream out
maintains a reference to the written object.
Objet A Objet A
Objet C
Objet C
Objet B Objet B
Objet C
Save A
Load A
then
then
Save B
Load B
Serialization problems
Objet A
Holder
Objet X
Objet C
Objet B
Save X
Then
Load X
Serialization problems
A serializable class may evolve.
If
serial numbers of the class and the serialized
object do not agree, it raises an exception.
Persistence
@Entity
public class Student implements Serializable
{
@id
private int number ; // primary key
</persistence>
JAVA Persistence API (JPA)
@column(name=“first_name” table=“Strudent”)
private String first_name ;
@column(name=“last_name” table=“Strudent”)
private String last_name ;
}
JAVA Persistence API (JPA)
Add getter and setter:
@Entity
public class Student implements Serializable
{
private String last_name ;
et.commit() ;
em.close() ;
emf.close() ;
JAVA Persistence API (JPA)
em.close() ;
emf.close() ;
JAVA Persistence API (JPA)
em.close() ;
emf.close() ;
JAVA Persistence API (JPA)
Student s =(Student)query.getSingleResult() ;
List<Student> s =(List<Student>)query.getResultList() ;
em.close() ;
emf.close() ;
JPA Conclusions