用Json导测试数据有一些好处(The Pesistence is Hibernate):
1. 可以让测试人员,或开发人员造数据是远离数据库(面向对象造数据)。
2. 数据库更换或移植,数据可以完好的保存在json文件里(因为是json文件,也可以将数据库的data反导出到文件)。数据也容易备份转移。
...
那么也会存在一些问题。
现在假设一个数据库的表跟Domain Object已经对应好。 (数据库是postgre, Hibernate3.2,and jpa.)
假设有这么一个数据,Category(super class, or not, but has parent, and children), 下面有GroupCategory, MagazineCategory继承它。 而annotion其中一语句是
"@Inheritance(strategy = InheritanceType.SINGLE_TABLE)"
那么,数据库中只有一张表tcategory,而对应有两个class, GroupCategory, MagazineCategory(表中的dtype字段来区分),问题来了:
如何添加parent?
一次添加parent数据和它的children时会抛出异常。原因推理: 假设这里导一个json一个transaction, 那么在假设导GroupCategory时,会将parent预备导入,但还没真正的persist, 那么再导入其children时,在数据库里没找到,那么会自己建一个parent, 也想往数据库储存,冲突! 所以会异常抛出?
如何解决:
在导入数据时先导入数据,然后导入关系(只是针对这种特殊情况,其他的domain object不需要要)。
eg:先导入所有GroupCategory(include parents and children, but no relatino)。如GroupCategory.json
然后在导入relation,如:GroupCategoryRelation.json,这里面建立关系:)
昨天弄到凌晨三点,在高手的指点下解决问题,多谢andlu!
但依然麻烦:D
分享到:
相关推荐
6. **序列化回JSON字符串**:如果需要将已处理的数据写回JSON格式,可以使用`Json::FastWriter`或`Json::StyledWriter`进行序列化。 在进行JSON解析测试时,`json_parse_test`可能是你的测试代码文件,它可能包含了...
6. **JSONScriptTest.js**:可能是一个JavaScript文件,用于与VB6应用程序进行交互,测试JSON数据的处理能力。 7. **VB JSON VB6 Software Library (BSD Licensed)** - **Visual Basic, JSON.mht**:这是一个MHTML...
`sample2.dpr`、`test.dpr`、`sample1.dpr`这些文件是Delphi的项目文件,它们可能包含了一些示例代码或者测试用例,用于演示如何使用这个JSON库。通过这些项目,开发者可以学习如何创建JSON对象,添加或读取键值对,...
在Ruby编程语言中,处理JSON数据是一项常见的任务。...无论你是进行手动检查还是构建自动化测试,`JsonCompare`都是你处理JSON数据差异的好帮手。记得正确安装和使用它,以便在你的Ruby项目中充分发挥其功能。
4. **使用**:在Erlang程序中,通过导入库模块并调用相关函数,处理JSON数据。 了解和使用这个库,可以帮助Erlang开发者更高效地与JSON格式的数据交互,从而提升他们的应用在处理网络通信和数据交换时的效率。同时...
通过使用Fluent API,可以避免拼接字符串或手动构造映射所带来的潜在错误,同时提高代码的可读性和可测试性。 总之,`jsongo`是Go语言中一个强大的工具,它简化了JSON对象的创建过程,提高了开发效率。对于那些经常...
jackson优势: (1)Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 (2)相比json-lib框架,Jackson所...附加JSON数据格式化和查看器,方便JSON数据测试和校验,有利于开发。
2. **导入库**:安装完成后,用户可以在代码中导入`json_storage_manager`库,以便使用其提供的函数和类。 3. **数据序列化与反序列化**:`json_storage_manager`提供了将Python对象转化为JSON字符串,以及将JSON...
【开源项目-ddo-pick-json.zip】是一个针对JSON数据处理的开源项目,旨在提供一种快速、高效的手段来从JSON对象中提取所需的信息。项目名称"ddo-pick-json"暗示了其核心功能是"挑选"(pick)JSON数据,而"FAST"则...
它允许您方便地从复杂的 JSON 对象中提取所需的数据。在软件测试和验证中,JSON Path 通常用于断言,即确认返回的 JSON 响应是否符合预期。`json-path-assert-2.1.0.zip` 文件包含了 `JsonPath` 库的一个版本,这是...
"cocos可用excel导表工具"就是为了解决这个问题,它允许开发者通过Python脚本将Excel数据转换成Cocos引擎可以直接使用的Lua、JSON或JS文件格式。 这个工具的核心功能包括: 1. **Excel到Lua/JSON/JS转换**:Python...
根据压缩包子文件的文件名称列表,只有一个条目"json2struct-1.1",这可能是一个包含`json2struct`库源代码、文档、测试和其他相关资源的目录。在解压这个文件后,用户通常需要进入该目录,并通过Python的`setup.py`...
"支持用Swift处理JSON数据"这一主题,主要是介绍如何利用开源库SwiftyJSON来简化这个过程。SwiftyJSON是由Alamofire团队维护的一个强大的Swift JSON处理库,它使得在Swift中解析和操作JSON数据变得非常直观,类似于...
在实际应用中,使用SQLAlchemy JSON QueryBuilder,你可以通过以下步骤来查询JSON数据: 1. **导入库**:首先,你需要导入SQLAlchemy和SQLAlchemy JSON QueryBuilder库。 ```python from sqlalchemy import create_...
【C# 导数据批处理】是一个典型的编程实践,它涉及到使用C#语言编写控制台应用程序,配合批处理脚本来实现高效的数据导入操作。在这一过程中,开发者通常需要考虑以下几个关键知识点: 1. **C# 控制台应用程序**:...
标题中的"PyPI 官网下载 | jsonapp-...总的来说,`jsonapp`是一个Python库,专注于处理JSON数据,通过PyPI分发,使用`.tar.gz`格式的压缩包提供。安装和使用这个库需要对Python的包管理和基本的开发环境有一定的了解。
5. **数据驱动测试**:如果测试数据存储在外部文件(如CSV或JSON)中,可以使用`@file_data`装饰器读取数据: ```python @file_data('test_data.csv') def test_get_api(self, data): response = requests.get(...
我到公司后先测试一下客户给我的错误示例(果然搜不到),然后排查一下昨天的数据是否有问题,发现昨天客户用excel导入的数据中,存在很多\r\n这种换行符和回车符。 如:库中数据为:“换行符\n换行符\n换行符”,...
在描述中提到的“JSON格式的Google新闻解析器”,意味着该库能够从Google新闻源抓取数据,并将其转换成JSON(JavaScript Object Notation)——一种轻量级的数据交换格式。JSON因其易于阅读和编写,同时也易于机器...
压缩包中的`content.json`、`metadata.json`和`manifest.json`可能是用来存储思维导图的结构和元数据的文件,而`content.xml`可能包含了思维导图的具体内容,`Thumbnails`目录则可能包含导图的预览图片。通过这些...