在JPA、Hibernate中仅使用表名和列名连接表
在JPA、Hibernate中仅使用表名和列名连接表 我有两个实体UserService中的users和AddressService中的addresses,现在我想将address表连接到users表,而不使用users实体,只使用users表和user\u id作为外键在JPA、Hibernate中仅使用表名和列名连接表,hibernate,jpa,Hibernate,Jpa,在JPA、Hibernate中仅使用表名和列名连接表 我有两个实体UserService中的users和AddressService中的addresses,现在我想将address表连接到users表,而不使用users实体,只使用users表和user\u id作为外键 @Entity @DynamicUpdate @Table(name = "users", schema = "security", uniqueConstraints = { @UniqueConstraint(column
@Entity
@DynamicUpdate
@Table(name = "users", schema = "security", uniqueConstraints = { @UniqueConstraint(columnNames = { "email" }) })
@JsonPropertyOrder({ "user_id" })
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Long userId;
private String email;
private String password;
//getters and setters
}
@Entity
@Table(name = "address", schema = "account")
@SecondaryTable(name = "users", schema = "account", pkJoinColumns = { @PrimaryKeyJoinColumn(name = "id") })
@JsonPropertyOrder({ "id" })
@DynamicUpdate
public class AddressModel implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@NotNull
@Valid
@Embedded
private Address address;
@ManyToOne(cascade = CascadeType.ALL)
@JoinTable(name = "users", schema = "account", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "user_id"))
public Long user_id; // this is the primary key in users table
// and want to make foreign key in addresses table
这两个实体位于两个不同的RESTful web服务中。如何在不创建实体或不具有依赖关系的情况下连接这两列?这会产生什么结果?您加入了表,但不想得到实体,那么结果应该是什么?为什么在一个长字段上有多个注释?所有JPA文档都会简单地告诉您关系是实体类型。如果该用户_id代表一个用户,则输入一个user类型的字段。面向对象再简单不过了