【问题标题】:@Unique doesn't have any effect in DataNucleus w/ NeoDatis@Unique 在带有 NeoDatis 的 DataNucleus 中没有任何影响
【发布时间】:2010-11-09 06:03:40
【问题描述】:

使用 JDO / DataNucleus / NeoDatis 数据存储

我将@Unique 添加到可持久对象的字段中,但是我可以创建多个违反唯一约束的对象。 DataNucleus/NeoDatis 的文档建议支持 Unique 字段。

@PersistenceCapable
public class User {
 @Persistent
 @Unique
 private String username;
 //...
}

如果我使用相同的用户名将多个对象添加到数据库中,这样做没有问题。

【问题讨论】:

    标签: java jdo datanucleus object-oriented-database


    【解决方案1】:

    您是否为您的unique constraint 指定了名称?

    @Unique(name="USERNAME_IDX")
    private String username;
    

    【讨论】:

    • 如果我给它一个名字没有区别。我仍然可以添加两个具有相同属性字符串“用户名”的对象
    【解决方案2】:

    似乎 NeoDatis 的 DataNucleus 实现不支持唯一属性。在 NeoDatis 中,它要求您在字段上添加唯一索引(请参阅下面的链接以获取描述此内容的 NeoDatis 论坛)。

    http://sourceforge.net/projects/neodatis-odb/forums/forum/619814/topic/3409305

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2020-05-10
      • 2013-04-09
      相关资源
      最近更新 更多