Java 如何使用thymeleaf以一种形式显示两个实体的值
我使用SpringBoot、Thymeleaf、Hibernate和JPA来开发这个应用程序。我已经映射了我需要从中检索数据的两个实体之间的关系,我想知道如何在页面上显示来自这两个表的数据 有人能告诉我如何使用Thymeleaf以一种形式显示两个实体的值吗?我找不到任何教程,提前谢谢Java 如何使用thymeleaf以一种形式显示两个实体的值,java,hibernate,spring-boot,thymeleaf,Java,Hibernate,Spring Boot,Thymeleaf,我使用SpringBoot、Thymeleaf、Hibernate和JPA来开发这个应用程序。我已经映射了我需要从中检索数据的两个实体之间的关系,我想知道如何在页面上显示来自这两个表的数据 有人能告诉我如何使用Thymeleaf以一种形式显示两个实体的值吗?我找不到任何教程,提前谢谢 @Getter @塞特 @诺尔格构装师 @实体 @表(name=“users”) 公共类用户{ @身份证 @GeneratedValue(策略=GenerationType.IDENTITY) 私人长id; 私有字
@Getter
@塞特
@诺尔格构装师
@实体
@表(name=“users”)
公共类用户{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私人长id;
私有字符串名称;
@OneToOne(级联=级联类型.ALL)
私人用户详细信息用户详细信息;
公共用户(字符串名称){
this.name=名称;
}
}
@数据
@诺尔格构装师
@实体
@表(name=“用户详细信息”)
公共类用户详细信息{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私人长id;
私人字符串电子邮件;
公共用户详细信息(字符串电子邮件){
this.email=电子邮件;
}
}
A.如果两个表彼此不相关,则以下解决方案可能适用于您
public class UserAndUsersDetails {
private String name;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}User user = userRepository.get(id);
UserDetails userDetails = userDetailsRepository.get(id);
3.在userAndUsersDetails类中设置数据
UserAndUsersDetails userAndUsersDetails = new UserAndUsersDetails()
userAndUsersDetails.setName(user.getName());
userAndUsersDetails.setEmail(userDetails.getEmail());
4.将UserAndUsersDetails类对象发送到thymleaf
B.如果两个表相互关联,则以下是最佳解决方案
1.从user扩展userDetails并克隆它,不要将id放入userDetails类中
@Data
@NoArgsConstructor
@Entity
@Table(name = "user_details")
public class UserDetails extends User implements Cloneable {
private String email;
public UserDetails(String email) {
this.email = email;
}
public UserDetails clone() {
UserDetails userDetails = new UserDetails();
userDetails.setName(this.getName());
}
}
3.将它的对象发送到thymelef。您应该能够很容易地在Hibernate文档中找到您需要的内容。我建议先去那里。