代码之家  ›  专栏  ›  技术社区  ›  Soham Dasgupta

无主键的亚音速生成表

  •  1
  • Soham Dasgupta  · 技术社区  · 15 年前

    我需要生成一个没有主键的表。表没有主键是绝对必要的。请帮忙。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Enno Shioji    15 年前

    你为什么不能用序列之类的东西?

    class Something {
         private static final SEQUENCE seq = getDBsequence()
    
         @id
         private final long id = seq.newNumber();
    
         private final String whateverData;
    }
    

    编辑:我写这个的方式有点愚蠢,因为一旦你重新启动应用程序。你会得到重复的钥匙……您应该使用数据库提供的序列。很抱歉。

        2
  •  5
  •   Adam Cooper    15 年前

    对于子音速,表包含主键是绝对必要的:)

    以下引用自 SubSonic docs on conventions :

    主键

    如果要使用Subsonic访问表,则需要为表定义主键。这在任何情况下都是很好的做法,我们需要它来处理您的桌子上的某些事情。如果没有定义主键,则不会生成类。

    如果你不相信我们,或者你认为这是一个愚蠢的约定-亚音速不适合你。

        3
  •  1
  •   user1151    15 年前

    正如亚当指出的那样,这是不可能的。老实说,我想不出一个情况(在OLAP之外),你不能有一个pk。或者你陷入了一个遗留的情况-我可以理解。

    如您所指出的,您可以使用我们的查询工具绕过它,然后将结果发送到列表<>。更新应该以同样的方式工作-但不确定是否插入。

    推荐文章