JPAのsaveメソッドの使い方を教えてください。
JPAのsaveメソッドは、エンティティオブジェクトの永続化・更新を行います。具体的な使い方は次のとおりです。
- エンティティクラス、例えばUserを定義する。
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
// 省略getters和setters
}
- JpaRepositoryを継承したインターフェースを作成します。例: UserRepository
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
- UserRepositoryを必要に応じて注入し、保存や更新処理ではsaveメソッドを呼び出す。
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User saveOrUpdateUser(User user) {
return userRepository.save(user);
}
}
保存メソッドを呼び出した際、エンティティオブジェクトのIDプロパティがNullの場合は挿入操作を実行し、新しいエンティティオブジェクトをデータベースに保存します。エンティティオブジェクトのIDプロパティがNullではない場合は更新操作を実行し、エンティティオブジェクトのプロパティをデータベースに更新します。