2014-03-29 1 views
8

JPA와 관련하여 다른 질문이 있습니다. 데이터베이스에 저장하려면 @Column을 사용하여 각 멤버 변수에 주석을 달아야합니까? 아니면 (필드가 "타임 스탬프"이러한 예에서) 일부 멤버 변수에 의해 그것을 생략 할 수 있으며이 필드는 가능한 각 시나리오에서 데이터베이스에 저장됩니다JPA에서 꼭 필요한 주석?

@Entity 
@Table(name = "usercontent") 
public class UserContentEntity implements Persistable<Long> { 

    /** serialVersionUID */ 
    private static final long serialVersionUID = 1L; 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @Column(name = "description") 
    private String contentdescription; 

    @Column(name = "name") 
    private String contentname; 

    @Column(name = "bytes") 
    @Lob 
    private byte[] contentbytes; 

    @Column 
    private String creator; 

    private Date timestamp; 


    // get- and set methods 
} 

을 그리고 그것은 absolutley 필요가있을 때 사용하는 주석 @Column?

덕분에 많은 Maik

답변

13

번호 등 어쨌든

+0

로서의 기본적 열 이름 또는 기본 데이터 저장소 열 유형 등을 대체하려면 그냥 넣어하지 않는 한 "필요"아니, @Column가하는 것도 따라서 주석 열이 있고 @Column 주석이없는 멤버는 위의 작은 예제에 저장됩니까? 이게 옳은 거니? – MaikHansen

+1

표준 자바 타입의 대부분은 디폴트 "영속성"(명시 적으로 영속성을 유지하기 위해 @Transient를 사용)입니다. –

+0

하지만, 예를 들어 exampe bean에이 memeber 변수가있는 경우 상황은 어떻게됩니까 : "List special = new ArrayList ();". 그리고이 멤버 변수는 OntToMany 또는 다른 somtehing으로 annotatet되지 않았습니다. 어떤 상황입니까? 무엇이 지속될 것인가? – MaikHansen

관련 문제