【问题标题】:Ebean looks for wrong sequence name in Play Framework 2Ebean 在 Play Framework 2 中查找错误的序列名称
【发布时间】:2012-05-05 01:57:56
【问题描述】:

我有一个身份证:

@Column(name = "device")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "device_gen")
@SequenceGenerator(name = "device_gen", sequenceName = "device_id")
@Id
public Integer id;

SequenceGenerator 将 sequenceName 定义为 device_id,但尝试保存实体时出现错误:relation "public.device_seq" 不存在

为什么要寻找device_seq 而不是device_id

我正在使用 PostgreSQL

【问题讨论】:

  • 我知道 Anorm 由于 PostgreSQL JDBC 驱动程序存在类似的问题(带有前缀),所以我怀疑是这种情况,但我不能保证。如果您可以尝试确保这在 MySQL 中有效,那么您可以在其上为 Play/Ebeans 提出错误。
  • @PereVillega 我知道它适用于 H2。当我有时间时,我会考虑使用 MySQL 进行尝试
  • 如果它适用于 h2,那么请在 Play 和 Ebeans 论坛中提出该错误,因为它可能是其中一个中的错误。他们可能知道解决方法
  • @PereVillega 现在我正在查看该项目,我发现我在 H2 上撒谎。我有一个现有的 PostgreSQL 数据库,而 H2 是由游戏本身演变而来的。
  • @RobFox 这就是解决方案吗?如果是这样,您应该发布说明以防其他人遇到此问题。

标签: java postgresql orm playframework-2.0 ebean


【解决方案1】:
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="device_gen")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多