将Stringattribute绑定到单独表的列

时间:2012-02-18 22:16:34

标签: java hibernate jpa

是否可以将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 个答案:

答案 0 :(得分:1)

你不能定义你的对象的地址字段存储在另一个表中(它有你自己的标识符,你没有在你的帐户类中)但你可以定义另一个类的地址,让它有它的自己的映射和表格然后你的帐户类与地址类有多对一的关系。这种方法也有优势。如果你想在你的地址表中添加另一个字段怎么办?如果其他字段无法添加到您的地址表中,您为什么要将其存储在单独的表中呢?