現在Spring BootでJPAを使って開発を進めており、その中で詰まった部分について質問させていただきます。
下記のように、Productというクラスの中で、JoinColumを行ったcategoryという変数が存在するとします。
PtroductとCategoryはそろぞれ別のテーブルが対応して存在しています。
このProductクラスからインスタンスを生成してデータを保存したい時に、categoryにはいちいちインスタンスを生成して代入するしかないのでしょうか。
DBに保存されるのは、categoryIdの値なので、インスタンス化を経ずに保存を行いたいです。
categoryIdを使って簡潔に記述できる方法があれば教えていただきたいです。
java
1@Entity 2@Table(name = "products") 3@Data 4public class Product { 5 @Id 6 private Integer productId; 7 private String name; 8 9 @ManyToOne(fetch=FetchType.EAGER) 10 @JoinColumn(name = "categoryId") 11 private Category category; 12 13}
今実装しようとしている方法↓
java
1Product product = new Product(); 2//↓このインスタンス生成を省略し、categoryIdを保存したい 3Category category = categoryRepository.findOne(categoryId); 4product.setCaterogy(category); 5productRepository.save(product);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/06 06:23
2017/07/06 14:57