2014-12-16 4 views
1

객체가 직렬화 가능하거나 직렬화되지 않을 때 데이터 객체를 데이터베이스에 저장할 때 다른 점은 무엇입니까?직렬화 가능 객체와 비 직렬화 가능 객체의 차이점 데이터베이스에 저장

예 : 내가

class Book { 
private int id; 
private String name; 
//getter and setter 
} 

이 지금은 데이터베이스 테이블에 예약 객체를 저장하는거야 구현 Serializable 인터페이스없이 예약

class Book implements Serializable{ 
private int id; 
private String name; 
//getter and setter 
} 

라는 도메인 클래스가 있습니다. Serializable을 구현할 때 데이터가 바이트 스트림으로 변환되어야한다는 사실을 알고 있습니다. DB

에 데이터를 저장할 때 그래서 위의 두 옵션의 차이점은

사람이 전혀, 일반적으로 당신에게 차이를 Amila

답변

0

감사하지 저를 수정할 수 있습니다 것입니다. 영속성을 위해 Serializable과 같은 엔티티를 가지는 것은 필수가 아니며 엄격하게 영속성 계층에 사용하는 프레임 워크에 따라 다릅니다.

의 엔티티 인스턴스가 원격을 통해, 예를 들어 분리 된 객체 (같은 값으로 전달하는 경우 - JPA 사양에 따라, 엔티티에게 Serializable을하는 것이 좋습니다하지만 Hibernate는 전혀 필요하지 않습니다 인터페이스)에서 엔티티 클래스는 Serializable 인터페이스 을 구현해야합니다.

예를 들어 HTTP 세션에서 분리 된 엔티티가 필요하거나 다른 레이어로 전달하거나 일련 화하는 등의 작업을 수행하려면 엔터티가 Serializable 개체 여야합니다.