我無法找到一些具體的文檔(https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation) 並沒有令人滿意的答覆在幾個博客。 所以在這裏我的問題。春季啓動JPA過濾器加入表
我有表實體,如:
@Entity
@Table(name = "workstation")
public class Workstation
{
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "userid", nullable = false)
public User user;
}
而且用戶表實體:
public class user
{
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "ID", unique = true, nullable = false)
public Integer id;
@Column(name = "age", nullable = false)
public int age
}
現在我想有一個像這樣在我的倉庫查詢:
public interface WorkstationRepo extends CrudRepository<Workstation, Long> {
findByUserAgeLesserThan(int maxAge);
}
意思是我想通過我的工作站實體找到一定年齡以下的所有用戶。
是否有可能沒有@Query註釋?或/和它應該是什麼樣子?
好吧,第一個選項沒有工作這麼好。它使問題更復雜的名稱。例如如果我們使用「AllUsers」和「TrueAge」,Spring不能查找它。 –
第一個選項有什麼問題?我在本地測試它,它工作得很體面。 –
是的,當涉及一些複雜的查詢時,查詢方法名稱變得非常複雜和冗長。你現在最好的選擇是使用'@Query()' –