Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用thymeleaf以一种形式显示两个实体的值_Java_Hibernate_Spring Boot_Thymeleaf - Fatal编程技术网

Java 如何使用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; 私有字

我使用SpringBoot、Thymeleaf、Hibernate和JPA来开发这个应用程序。我已经映射了我需要从中检索数据的两个实体之间的关系,我想知道如何在页面上显示来自这两个表的数据

有人能告诉我如何使用Thymeleaf以一种形式显示两个实体的值吗?我找不到任何教程,提前谢谢

@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;
        }
    
    }

  • 2.然后调用数据库并获得结果

    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());
    }
    
    }
    
  • 获取userDetils reslut

  • 3.将它的对象发送到thymelef。

    您应该能够很容易地在Hibernate文档中找到您需要的内容。我建议先去那里。