我們正在做一個俱樂部管理專案。
俱樂部桌上有俱樂部主席,用戶ID作為外鍵接收。
我想在使用 jpa 時加入兩個表并獲得結果
如果您將映射的俱樂部表指定為型別,則會出現錯誤(圖 1)
如果您介面結果欄位,則僅回傳空值。(圖2)
我該怎么做?
(圖1)
org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.Object[]] to type [@org.springframework.data.jpa.repository.Query com.wodongso.wodongso.entity.Society] for value '{?????, ???13, ? ?? ??1, ???, ? ??? ??? ????!!1, ??? ???? ?????1, true}'; nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [@org.springframework.data.jpa.repository.Query com.wodongso.wodongso.entity.Society]
(圖2)

社會物體
用戶物體
@Entity
@Data
public class User {
@Id
private String id;
private String name;
private String nickname;
private String password;
private String role;
private String contact;
@Column(name = "profile_url")
private String profileUrl;
private String region;
private String university;
private String major;
@Column(name = "class_of")
private Integer classOf;
private boolean enabled;
@Column(name = "created_at")
private Date createdAt;
}
社會資料庫
@Repository
public interface SocietyRepository extends JpaRepository<Society, Integer> {
Page<Society> findByNameContaining(String searchKeyword, Pageable pageable);
@Query("SELECT s FROM Society s WHERE s.enabled = :isEnable")
Page<Society> findByEnabledPage(@Param("isEnable") boolean isEnable, Pageable pageable);
@Query("SELECT u.university, u.name, s.name, s.category, s.simpleDesc, s.detailDesc, s.enabled "
"FROM Society s "
"INNER join User u "
"ON u.id = s.officerId "
"WHERE u.university = :university")
List<Society> findAllByUniversity(@Param("university") String university);
}

uj5u.com熱心網友回復:
創建一個包含所有欄位的類并添加一個全引數建構式,然后使用查詢:
@Query("SELECT new SocietyWithUser(u.university, u.name, s.name, s.category, s.simpleDesc, s.detailDesc, s.enabled) "
"FROM Society s "
"INNER join User u "
"ON u.id = s.officerId "
"WHERE u.university = :university")
List<SocietyWithUser> findAllByUniversity(@Param("university") String university);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/532386.html
標籤:jpa映射
