当使用JPA和Spring Boot时,如何避免每个实体都有一个类和一个接口?
我有以下实体(还有其他10个):
@Entity
@Table(name = "account")
public class Account {
@Id
@GeneratedValue
private Long id;
@Column(name = "username", nullable = false, unique = true)
private String username;
@Column(name = "password", nullable = false)
private String password;
...
为了能够持久化该实体,我需要为每个实体设置一个接口:
@Repository
public interface AccountRepository extends JpaRepository<Account, Long> {
}
然后使用@autowire
注入它:
@Controller
public class AdminController {
@Autowired
AccountRepository accountRepo;
Account account = new Account();
account.setUsername(...);
...
accountRepo.save(account);
如果现在我有10个实体,这意味着我需要定义10个@Repository接口,并且@autowire每一个接口。
如何将save方法直接嵌入到Account中,以便我只需调用account.save(),并且如何摆脱我必须为每个实体声明的所有@Repository接口?