如何解决表A
我的代码中有一个关系,其中一个主对象将大量其他对象链接在一起。由于链接在一起的对象数量众多,因此我希望使用一个主对象,使诸如“ Project”这样的对象保持简单,并且仅包含两个字段“ ProjectId”和“ Active”标志。然后,我想仅通过“ ProjectId”链接到其他表。
项目表将分为两列,“项目ID”和“活动”。
其他表将包含它们所需的内容,但也包含用于链接目的的“ ProjectId”。
然后在代码中,我可以知道这些表是通过共享的ProjectId列链接到同一项目的。
我希望能够仅通过Project对象来检索和更新所有对象。
我会发布我的代码,但是这样做不合适。但是,这是即时通讯目前存在问题的一个较小示例。保存有效,但检索无效。
@Entity
@Table(name = "Project")
public class Project{
@Id
@Column(name = "ProjectId",columnDefinition = "UNIQUEIDENTIFIER")
private UUID id;
@OneToOne(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
@JoinColumn(
name = "ProjectId",referencedColumnName = "ProjectId",nullable = false,insertable = false,updatable = false)
@MapKeyColumn(name = "ProjectId")
private ExtraTable extraTable ;
//Getters setters exc...
}
@Entity
@Table(name = "ExtraTable")
public class ExtraTable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "Id",unique = true)
@Type(type = "uuid-char")
private UUID id;
@Column(name = "ProjectId",columnDefinition = "UNIQUEIDENTIFIER")
@Type(type = "uuid-char")
private UUID projectId;
//Geters,setters,hash etc....
}
我的问题是,是否有人可以向我提供有关如何使它工作的建议,以及从逻辑角度来看这是否有意义?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。