3

我整天都在尝试使用 JPA/Hibernate 从 Postgres 获取序列,但它一直给我:

信息:休眠:调用 tb_cdr_id_seq 的下一个值 警告:SQL 错误:0,SQLState:42601 错误:错误:“调用”处或附近的语法错误 严重:javax.persistence.PersistenceException:org.hibernate.exception.SQLGrammarException:无法提取结果集

@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;
....

}

Postgres 版本是 9.2 并且没有功能:调用下一个值....就像 Hibernate 是打印...

我应该怎么办 ?

谢谢

4

1 回答 1

4

Hibernate 没有自动检测方言,或者它被覆盖了。hibernate.dialect明确设置以org.hibernate.dialect.PostgreSQLDialect解决问题。

于 2013-06-22T01:44:12.460 回答