我一整天都在试图使用JPA/Hibernate从Postgres中获取序列,但它一直返回:
INFO: Hibernate:call next value for tb_cdr_id_seq WARN: SQL错误:0,SQL状态:42601 ERROR:ERROR:在“call”附近或者是“call”的语法错误 SEVERE:javax.persistence.PersistenceException:org.hibernate.exception.SQLGrammarException:无法提取ResultSet
@Entity
@Table(name = "tb_cdr")
@XmlRootElement
@SequenceGenerator(name = "tb_cdr_id_seq", sequenceName = "tb_cdr_id_seq", allocationSize=1)
public class Cdr implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_cdr_id_seq")
@Basic(optional = false)
@Column(name = "id")
private Long id;
....
}
PostgreSQL版本为9.2,没有像Hibernate中的“call next value”函数,应该怎么办?
谢谢。
log_statement=on
)或者Hibernate日志。猜测可能是使用了错误的SQL方言设置,或者序列tb_cdr_id_seq
不存在。 - Craig Ringer