gpt4 book ai didi

java - 我如何使用 thymeleaf 以一种形式显示 2 个实体的值

转载 作者:行者123 更新时间:2023-12-02 08:57:25 26 4
gpt4 key购买 nike

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

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

@Getter
@Setter
@NoArgsConstructor

@Entity
@Table(name = "users")
public class User {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String name;

@OneToOne(cascade = CascadeType.ALL)
private UserDetails userDetails;

public User(String name) {
this.name = name;
}
}
@Data
@NoArgsConstructor

@Entity
@Table(name = "user_details")
public class UserDetails {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String email;

public UserDetails(String email) {
this.email = email;
}
}

最佳答案

A.如果两个表彼此不相关,那么以下解决方案可能适合您。

  1. 创建 One Model 类。

    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 结果
  • 3.将其对象发送给thymelef。

    关于java - 我如何使用 thymeleaf 以一种形式显示 2 个实体的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60412157/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com