0
thymeleafテンプレートのhtmlファイルを使用してビューに2つのテーブルを結合した後にユーザーデータを表示しようとしています。マイリポジトリクエリアノテーションはthymeleafを使用してフォームに詳細を表示すると春の表現エラーが発生する
@Query("SELECT u.username,p.privi_name FROM Users u inner join u.priviJoin p")
List<Users> findByUsername();
で、私のユーザークラスは、
@Entity
@Table(name = "users")
public class Users implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Column(name = "username")
public String username;
@Column(name = "password")
public String password;
@Column(name = "privid")
public Integer privid;
@OneToOne()
@JoinColumn(name="join_privillage")
private Privillages priviJoin;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getPrivid() {
return privid;
}
public void setPrivid(Integer privid) {
this.privid = privid;
}
public Privillages getPriviJoin() {
return priviJoin;
}
public void setPriviJoin(Privillages priviJoin) {
this.priviJoin = priviJoin;
}
public Users() {
}
public Users(String username, String password, Integer privid) {
this.username = username;
this.password = password;
this.privid = privid;
}
@Override
public String toString() {
return String.format("Users[id=%d, username='%s', password='%s']", id,
username, password);
}
}
ある
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div>
<span th:text="${joinData.username}">
</span>
<span th:text="${joinData.privi_name}">
</span>
</div>
</body>
</html>
、私のコントローラは、
@RequestMapping(value = "/joinResult", method = RequestMethod.GET)
public ModelAndView joinResultShow(Model model)
{
List<Users> use = new ArrayList<Users>();
use = (List<Users>) userRepo.findByUsername();
model.addAttribute("joinData",use);
ModelAndView viewObj = new ModelAndView("fleethome");
return viewObj;
}
ですそして、私のhtmlファイルのfleethomeがありますそして私の2番目の参加クラスPr
@Entity
@Table(name = "privillages")
public class Privillages implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Integer id;
@Column(name = "privid")
public Integer privid;
@Column(name = "privi_name")
public String privi_name;
@OneToOne(fetch=FetchType.LAZY, mappedBy="priviJoin")
public Users user;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getPrivid() {
return privid;
}
public void setPrivid(Integer privid) {
this.privid = privid;
}
public String getPrivi_name() {
return privi_name;
}
public void setPrivi_name(String privi_name) {
this.privi_name = privi_name;
}
public Users getUser() {
return user;
}
public void setUser(Users user) {
this.user = user;
}
public Privillages() {
}
public Privillages(Integer privid, String privi_name) {
this.privid = privid;
this.privi_name = privi_name;
}
}
「予期しないエラーがありました(タイプ=内部サーバーエラー、ステータス= 500)」というエラーが表示されました。 SpringEL式を評価 例外:「joinData.username」(fleethome:54)。?私はこれを解決するために行うために必要なもの」
ここでエラーはありません。しかし、データにはnullが表示されます。リポジトリへの参加クエリに間違いがありますか? – Jacob
質問の詳細に**ユーザー**と** PriviJoin **クラスを追加できますか? – mrtasln
私の編集した答えを試してください – mrtasln