以下のクラスで、エンティティと主キーを分けて作成しております。
その中で、複合主キー二つの内1つでシーケンスを使いたいです。
シーケンスはpostgreqlで作成しております。
以下の3パターンを試しましたが、うまくいきませんでした。
・アノテーションをorderのフィールドのみに記述
・アノテーションをorderPKのフィールドのみに記述
・アノテーションを両クラスのフィールドに記述
jpaでinsertしたくて、、これができないといちいちmybatisでinsert文を書かないといけないんです!
テーブルの項目多くてめんどくさいです!お願いします!
java
1@Entity 2@Table(name="order") 3public class Order implements Serializable { 4 5 @EmbeddedId 6 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "order_seq") 7 @SequenceGenerator(name = "order_seq", sequenceName = "order_seq", allocationSize = 1) 8 private OrderPK id;
java
1 2@Embeddable 3public class OrderPK implements Serializable { 4 5 @Column(name="company_cd") 6 private String companyCd; 7 8 @Column(name="order_no") 9 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "order_seq") 10 @SequenceGenerator(name = "order_seq", sequenceName = "order_seq", allocationSize = 1) 11 private String orderNo;
ログ見ると
select
nextval ('order_seq')
org.springframework.orm.jpa.JpaSystemException: Unknown integral data type for ids : dao.entity.OrderPK; nested exception is org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : dao.entity.OrderPK
ってなってます。おそらくエンティティの複合主キーを別クラスに書いてる書き方を変えないといけないですよね。
ひぃ
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。