使用 JPA Repository
本頁將簡單介紹使用 Jpa Repository 的方式
根據 Hibernate 所註冊的方式完成後,你需要先創建一個 interface , 並繼承 JpaRepository<Entity, ID>。
public interface UserRepository extends JpaRepository<User, String> {
}在上述的 generic 中, Entity 代表了 table class, 而 ID 則代表了那個 table 的 primary key 類型。
完成後,你需要到主類註冊你的 Repository。
@Override
public void bindServices(ServiceCollection serviceCollection) {
SQLInstallation sql = serviceCollection.getInstallation(SQLInstallation.class);
sql.bindEntities(User.class); // 註冊 entities
sql.bindJpaRepository(UserRepository.class); // 註冊 Repository
}使用服務
註冊完成後,只需要直接注入你的 Repository 即可。
public class UserJpaService implements UserService {
@Inject
private UserRepository userRepository;
@Override
public void save(User user) {
userRepository.save(user);
}
@Override
public Optional<User> findByUsername(String username) {
return userRepository.findById(username);
}
@Override
public Iterable<User> findAll() {
return userRepository.findAll();
}
@Override
public void deleteById(String username) {
userRepository.deleteById(username);
}
}從上述代碼中,你可發現使用 JPA Repository 比使用 EntityManager 更簡潔,也更可讀。
Last updated
Was this helpful?