Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于Siena的非规范化数据建模_Java_Google App Engine_Siena_Datamodel - Fatal编程技术网

Java 基于Siena的非规范化数据建模

Java 基于Siena的非规范化数据建模,java,google-app-engine,siena,datamodel,Java,Google App Engine,Siena,Datamodel,我正在尝试在GAE/J上创建一个简单的应用程序。数据模型由一个注释列表,每个注释都有一些标记 在关系世界中,这将是多对多-因为每个注释可以有几个标记,每个标记可以“属于”几个注释。然而,这不太适合GAE数据存储环境。因此,我正在考虑保存每个注释,以及它的标记列表。如果索引正确,按标记搜索也应该很快 我的问题:如何使用锡耶纳建模?文档很稀疏,我看到了示例,但感到困惑。锡耶纳文档很稀疏,因为我没有时间再做它了。。。我忙于其他项目,如果有人想贡献和维护锡耶纳,欢迎他/她;) 考虑到你的问题,是的,你应

我正在尝试在GAE/J上创建一个简单的应用程序。数据模型由一个
注释列表
,每个注释都有一些
标记

在关系世界中,这将是多对多-因为每个
注释
可以有几个
标记
,每个
标记
可以“属于”几个
注释
。然而,这不太适合GAE数据存储环境。因此,我正在考虑保存每个
注释
,以及它的
标记列表
。如果索引正确,按标记搜索也应该很快


我的问题:如何使用锡耶纳建模?文档很稀疏,我看到了示例,但感到困惑。

锡耶纳文档很稀疏,因为我没有时间再做它了。。。我忙于其他项目,如果有人想贡献和维护锡耶纳,欢迎他/她;)

考虑到你的问题,是的,你应该使用一个简单的列表(又名属性列表),它由锡耶纳管理,在GAE中工作

添加一个字段,例如:(无注释)

列出标签

它应该有用

如果有关文档的评论听起来像是在咆哮,我很抱歉。我不是有意冒犯你的!现在,如果我的标记本身是一个模型,而不仅仅是一个字符串,该怎么办?我可以只做列表标签吗?我读到了关于嵌入的内容,认为我应该使用
@Embedded
注释。我的理解是,如果您不想执行
JOIN
s(我在问题中描述的场景),那么应该使用
@Embedded
。这种理解正确吗?别担心,我没有生气:D只是我很难过地意识到了这一点,不能再像去年那样在锡耶纳工作了,因为我在其他项目上工作。。。关于标记,不,您不能使用List,但List as GAE只管理列表属性的基元类型@嵌入式将是一个解决方案,但GAE对实体组(嵌入式实体)中可以执行的更新数量有限制。修改此组的次数不能超过每秒1次。所以我建议您使用List并将标记键写成字符串,这样您就可以很容易地找到相应的。好的,我现在就知道了。我可能会坚持使用简单的
String
s作为标记(这就是标记的含义!)。我仍然需要尝试一下“查找带有某某标记的笔记”的工作原理。我将在这里更新我的发现。我已经完成了这项工作,但仍然无法找到一件事:搜索所有包含给定
标记的
注释的最有效方法。特别是,如何使
filter()
方法在
列表中查看
List<String> tags