【问题标题】:Datanucleus JDO: how can i store a set of strings?Datanucleus JDO:如何存储一组字符串?
【发布时间】:2015-01-05 19:20:11
【问题描述】:

我正在将一个项目从使用 JDBC 迁移到 Datanucleus 的 JDO 实现。

在旧架构中,有一个类从数据库中读取多个字符串(该表仅包含这些字符串,只有一个具有唯一约束的列),对它们进行一些处理,然后从该表中删除它们并将它们写入另一个,或者根据其工作结果将它们单独放置。

我不想使用模式生成,因为我最终可能不得不从旧表迁移数据(这可能并不难),并且我希望更好地控制数据库结构。

所以问题是:我如何编写一个数据对象来映射到字符串表,并在被问到时返回一组字符串,或者将工作对象转换为数据对象和工作对象的混合体可以从该表中读取字符串吗?还是我采取完全不同的方法?

【问题讨论】:

    标签: mysql jdo datanucleus


    【解决方案1】:

    在此页面之后使用 JDO 很容易定义一组字符串 http://www.datanucleus.org/products/accessplatform_4_0/jdo/orm/one_to_many_set.html#join_nonpc

    您可以使用任何形式的 JDOQL 进行查询,例如

    SELECT FROM Person WHERE addresses.contains(addr) && addr.matches(somePattern)
    

    【讨论】:

    • 我怎样才能从数据库中选择一些字符串?某事。像“从 my_word_table 中选择单词,其中单词像 'myword%';”并在集合中有这些值?
    • 查看更新以回答,例如可以找到 JDO 规范
    • 我投了赞成票,但没有接受,因为它不是我想要的。我最终创建了一个只有一个字段“word”的新类,然后我将它“映射”到包含字符串的表中。这样我就可以选择与我的模式匹配的包装字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-21
    相关资源
    最近更新 更多