使用 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?