您可以将 Query 对象作为参数发送到 SpringData Repository 方法吗?
Can you send a Query object as parameter to a SpringData Repository method?
我正在读这个 link 关于 Spring Data JPA 的文章,这让我很好奇:除了使用 @Query 批注,您可以创建一个查询,然后将其用作方法的参数吗?
更多类似内容:
@Repository
public interface MyRepository extends CrudRepository<MyClass, Integer>
{
void doSomething(Query query);
}
(顺便说一句,我知道我可以实现一个片段存储库并解决我的问题,但我很好奇)
您无法创建实现 class,您可以像这样编写接口方法:
@Entity
public class Part {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Long id;
@Column(unique = true)
private String partId;
public Part() {
}
public Part(String partId) {
this.partId = partId;
}
public String getPartId() {
return partId;
}
public void setPartId(String partId) {
this.partId = partId;
}
public Set<Card> getCards() {
return cards;
}
}
public interface PartRepository extends CrudRepository<Part, Long> {
public Optional<Part> findByPartId(String partId);
public List<Part> findAllByPartId(String partId);
}
Spring 在后台自动将这些行转换为 SQL,你不应该关心那个。
您可以在此处找到一些详细信息:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods
我正在读这个 link 关于 Spring Data JPA 的文章,这让我很好奇:除了使用 @Query 批注,您可以创建一个查询,然后将其用作方法的参数吗?
更多类似内容:
@Repository
public interface MyRepository extends CrudRepository<MyClass, Integer>
{
void doSomething(Query query);
}
(顺便说一句,我知道我可以实现一个片段存储库并解决我的问题,但我很好奇)
您无法创建实现 class,您可以像这样编写接口方法:
@Entity
public class Part {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Long id;
@Column(unique = true)
private String partId;
public Part() {
}
public Part(String partId) {
this.partId = partId;
}
public String getPartId() {
return partId;
}
public void setPartId(String partId) {
this.partId = partId;
}
public Set<Card> getCards() {
return cards;
}
}
public interface PartRepository extends CrudRepository<Part, Long> {
public Optional<Part> findByPartId(String partId);
public List<Part> findAllByPartId(String partId);
}
Spring 在后台自动将这些行转换为 SQL,你不应该关心那个。
您可以在此处找到一些详细信息:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods