2012-02-18 3 views
0

다른 테이블의 열에 JavaClass의 String 특성을 바인딩 할 수 있습니다.별도의 테이블 열에 문자열 속성을 바인딩

@Entity 
@Table(name = "ACCOUNTS") 
public class Account { 
    private Long id; 
    private String nickname; 
    private String address; 

    @Id 
    @Column(name = "A_ID") 
    @GeneratedValue 
    public Long getId() { 
     return id; 
    } 

    public void setId(Long id) { 
     this.id = id; 
    } 

    @Column(name="A_NICKNAME") 
    public String getNickname() { 
     return nickname; 
    } 

    public void setNickname(String nickname) { 
     this.nickname = nickname; 
    } 


    public String getAddress() { 
     return address; 
    } 

    public void setAddress(String address) { 
     this.address = address; 
    } 
} 

어떤 경우 주소의 올바른 주석 될 경우 별도의 테이블에서 문자열?

별도의 테이블

CREATE TABLE IF NOT EXISTS `Adresses` (
    `ad_id` BIGINT NOT NULL AUTO_INCREMENT , 
    `ad_address` VARCHAR(45) NOT NULL , 
    PRIMARY KEY (`da_id`)) 
ENGINE = InnoDB; 

감사

당신은 개체의 주소 필드를 정의 할 수 없습니다

답변

1

다른 테이블에 저장 (당신이 그것을 필요가 없습니다 자신의 식별자가 귀하의 계정 클래스)하지만 주소에 대한 다른 클래스를 정의하고 자신의 매핑 및 테이블을 가지고 귀하의 계정 클래스는 주소 클래스와 다 관계를 가질 것입니다.이 접근법도 장점이있을 수 있습니다. 만약 당신이 다른 필드를 주소 테이블에? 다른 필드를 주소 테이블에 추가 할 수있는 기회가 없으면 왜 다른 테이블에 저장하려고합니까?

관련 문제