ids for this class must be manually assigned before calling save():

Caused by: javax.persistence.PersistenceException: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.cjonline.ship.entity.TBLMyRecents

    at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)

    at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:218)

    at org.jboss.ejb3.entity.TransactionScopedEntityManager.persist(TransactionScopedEntityManager.java:182)

    at com.cjonline.ship.dao.base.BaseDaoBean.save(BaseDaoBean.java:58)

这个异常比较简单,就是实体类的id在执行save方法时没有赋值。

可以设置主键的策略模式,常见的UUID和自增长,在EJB中如下:

@Id

    @GenericGenerator(name = "system-uuid", strategy = "uuid")

    @GeneratedValue(generator = "system-uuid")

    @Column(length = 32,nullable=false)

    public String getId() {

        return id;

    }



//-------------------------------------------------//



@Id

@GeneratedValue(strategy = GenerationType.AUTO)

public String getId() {

        return id;

}

 

你可能感兴趣的:(BEFORE)