繁体   English   中英

如何从 Spring 数据 JPA 在 JpaRepository 中创建自定义方法?

[英]How to make a custom method in JpaRepository from Spring Data JPA?

我正在使用来自 Spring 数据 JPA 的 JpaRepository 来调用 MySQL 数据库。 我知道我不需要为 findById、save 等添加方法,因为它们是由 Spring 实现的,但我想添加一个方法: findByAccountNumber() ,但我不知道该怎么做。

我试图以这种方式做,但它不工作:

@Repository
public interface AccountRepository extends JpaRepository<Account, Long> {

    Account findByAccountNumber(String accountNumber);
}

帐户 class:

@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Table(name = "account")
public class Account {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "accountId")
    private Long accountId;

    @Column(name = "accountNumber")
    private String accountNumber;

    @Column(name = "currentBalance")
    private BigDecimal currentBalance;
}

因此,当我调用accountRepository.findByAccountNumber(accountNumber)时,我收到 null。

CREATE TABLE `account` (
  `accountId` bigint(19) NOT NULL AUTO_INCREMENT,
  `accountNumber` varchar(100) NOT NULL,
  `currentBalance` decimal(10,5) NOT NULL,
  PRIMARY KEY (`accountId`)
)

我该怎么做这个方法? 谢谢!

也许您需要添加org.springframework.data.repository.query.Param注释。

Account findByAccountNumber(@Param("accountNumber") String accountNumber);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM