现有 2 个 DAO
有一个新添加的 DAO 调用 ComputerDAO.java
如果有如下查询那么什么是最好的设计?
select * from university
join student on uni_id = student_id
join computer on computer_id on uni_id
最佳 DAO 实施。即新类或现有类实现
看ER图,computer表与University表无关,而是与student表相关。如果有学生桌那就还有电脑桌。
对于数据库支持,您将需要使用一些工具,例如 JPA 和 hibernate。该关系可以在名称字段上使用 OneToOne 进行注释。
您可以通过多种方式获取所需的结果。要开始使用,您可以查看:
@Query("SELECT name FROM Student s join query ... WHERE u.status = ?1")
Student getStudentData(UUID id);
If you want a list then something like:
@Query("SELECT name FROM Student s join query ...")
Collection<Student> findAll();
如果你要使用Springboot,请使用springboot投影,它非常简单且干净。
您可以选择使用新的类名称,无论什么名称,并使用它来引导所有这些实体类。你可以这样做:
YourNewClass {
// reference
private UUID id
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "university_id", referencedColumnName = "id")
private UniversityDAO universityDao;
.....
}