如下配置,使用联合主键[DEPT_ID, USER_ID],  在添加新的User时,useri_id并没有使用序列,这是为什么???
        @Embeddable
public static class UserPK implements Serializable { /**
 * 
 */
private static final long serialVersionUID = 1645336921302505210L;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "DEPT_ID", referencedColumnName = "DEPT_ID", updatable = false)
private Department dept;
        @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_USER_ID")
        @SequenceGenerator(name="SEQ_USER_ID", sequenceName="SEQ_USER_ID")
@Column(name = "USER_ID", length = 17, updatable = false)
private String userId;

解决方案 »

  1.   

    没人回复 ——! 
    google了一下, 老外也遇到过类似问题
    好像sequnce 在 Embeddable 中是 失效的
      

  2.   

    我用过没事啊。我的是Hibernate3.3的JPA1.0的实现。 数据库是Oracle10g刚看了一下我的源代码,我的
    @SequenceGenerator(name="SEQ_USER_ID", sequenceName="SEQ_USER_ID")是放在类上的,而不是放在field上的,你去改一改看看。
      

  3.   


    你用的是 @Embeddable 方式的么??
      

  4.   

    啊。 我的还真不是哎。我的是 @IdClass 弄的。