Java 将Stringattribute绑定到单独表的列
可以将JavaClass的String属性绑定到其他表的列吗 示例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() {
@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表中添加其他字段,该怎么办?如果没有机会将其他字段添加到地址表中,为什么要将其存储在单独的表中