Java 将Stringattribute绑定到单独表的列

Java 将Stringattribute绑定到单独表的列,java,hibernate,jpa,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() {

可以将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;
如果地址在单独的表中包含字符串,那么正确的注释是什么

单独表格

@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;

谢谢

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