2013-10-30 10 views
1

我已经创建了一个基于标准示例的play orm应用程序的简单示例。@NoSqlOneToMany不能在PlayORM中工作

你可以在这里下载源码http://yadi.sk/d/FksgPpsXBqRPb

该示例必须在Play 2.2.0框架中运行。

您可以使用Rest Client for Firefox进行测试。

1.创建一个男子:在输出

http://localhost:9000/saveMan 
Method: POST 
Content-Type: application/json 

{ 
    "name": "Petro", 
    "age": 30 
} 

你会得到主标识

2.创建人相关的汽车

http://localhost:9000/saveCar 
Method: POST 
Content-Type: application/json 

{ 
    "model": "Aveo", 
    "man": {"id": "<Man Id>"} 
} 

3.获取男人

http://localhost:9000/getMan/<Man Id> 
Method: GET 

结果:

{ 

     "id": "<Man Id>", 
     "name": "Petro", 
     "age": 30, 
     "cars": 
     [ 
     ] 
} 

正如你看到的车都没有检索虽然我使用@NoSqlOneToMany注解。

回答

0

你有什么消息在github?这是一个相当大的文件,你在帖子中显示的所有代码都是json的东西。你使用的是mongodb还是cassandra?

我认为在这种情况下,“汽车”会列出FK,或者如果您使用@NoSqlEmbedded,它会在汽车列表的每个条目中列出整辆汽车。

如果您使用的是mongodb,vikas将比我知道得更多。让我们知道您使用的数据库后端是什么,如果您可以在页面上放置一些实际的源代码,那也不错。

感谢, 院长

+0

同样的结果都与PlayORM内存数据库,并与卡桑德拉1.1.6。所有的源代码都在http://yadi.sk/d/FksgPpsXBqRPb这个档案中。这是完全有效的项目,具有所有需要的依赖关系。你下载的文件是7Mb吗? –

+0

先试试这个,以确保所有测试都通过了cassandra。除了这里的测试http://buffalosw.com/wiki/getting-started-with-the-me-memory-nosql-database-for-testing-example-4/从serverType = DbTypeEnum.IN_MEMORY修改FactorySingleton.java ;到serverType = DbTypeEnum.CASSANDRA;并运行所有的测试套件....这有OneToMany的例子,你可以与你的东西比较,看看你为什么不工作(如果测试用例失败,让我们知道)。 –

相关问题