kodojdo指南第八章

Windchill常见开发API windchill开发,java,主要介绍windchill开发的基础方法 阅读详情

第八章 PersistenceManager

  上图概括了PersistenceManager 接口最常用的方法和属性。参考Javadoc了解更完整的信息。类JAVA

BEAN风格的getter和setter方法在字段声明时给出。入参为....的方法表示重载函数。
  PersistenceManager 是应用程序和JDO运行时结合的主要接口。每个PersistenceManager 管理一个持

久事务对象的缓存,并关联一个单一的事务。
  按照功能,PersistenceManager 的方法可以如下分类:
  1)关联用户对象
  2)属性配置
  3)关联事务
  4)能持久生存期管理
  5)JDO标识管理
  6)查询工厂
  7)扩展工厂
  8)关闭


8。1 关联用户对象
 
  PersistenceManager的UserObject 属性允许你将任意一个对象和一个PersistenceManager关联。这

个对象不能是JDO实现品使用的对象。

8.2. 属性配置
 
  PersistenceManager 包括两个配置属性的getter和setter方法。分别是Multithreaded 和

IgnoreCache. 这些属性在PersistenceManagerFactory 设置一节里已经详细讨论过了。

8。3 关联事务

  PersistenceManager 和事务实例有着一对一的关系。事实上,许多厂商用单一的类来实现

PersistenceManager 和Transaction 接口。如果你的程序要求并发事务,你必须使用多重的

PersistenceManagers.
  你可以使用currentTransaction方法来取得当前PersistenceManager 所关联的事务。

8。4 能持久生存期管理

  PersistenceManagers 执行许多影响能持久类生存期实例状态的动作。这点通过提供多个函数来表现。例

如,可以将某个能持久对象作为参数,例如makePersistent方法, 也可以将整个能持久类的数组或集合作为

参数。例如makePersistentAll方法

  1)由暂时性转化为新持久状态。这个行为只能在活动事务的上下文环境中使用。事务提交之后,新的持久

实例会插入到数据库。

  2)这个行为使持久实例向暂时性状态转化。这个实例马上失去关联的PersistenceManager 和JDO标识。

但在数据库中的记录不会被修改。
  这个行为只能在clean对象上执行。如果在dirty对象执行,会抛出JDOUserException

  3)用这个方法使暂时性对象变为transient-transactional状态,或者持久非事务的对象进入当前事务

。在第二种情况下,这个行为必须在活动事务中执行。

  4)收回对象意味着告诉PersistenceManager你不再使用这个对象。对象的状态会变为hollow且

PersistenceManager 释放所有对该对象的强引用,允许它被垃圾回收。
  调用evictAll 方法表示收回所有在PersistenceManager缓存中处于persistent-clean状态的对象

  5)使用refresh 行为确保对象的持久状态和数据库中的值同步。这个行为的用意是避免长时间运行的优化

事务发生数据陈旧的危险。
  refreshAll 方法针对所有缓存中的事务性对象。如果没有活动的事务,这个方法没有意义。

  6)某个持久对象从数据库中取出所有持久字段,用这个方法取得该对象。用这个行为确保在状态转为暂时

性之前所有实例的字段完全被装载。注意,这个行为并不是递归的。假如对象A和B有关系,那么以A作为参数

调用retrieve 方法会装载B,会不必要地以数据库中的值填充B的字段。


8。5 生存期例子

8。6 JDO标识管理

  每个PersistenceManager都在缓存中管理持久对象的JDO标识。方法如下:

  1)返回能持久类的JDO标识类

  2)用JDO标识对象的toString方法返回的字符串重新创建JDO标识对象。假设一个能持久类和它的JDO标识

字符串,这个方法使用上述的getObjectById方法构造一个JDO标识对象,这个对象首先创建一个字符串,然

后根据这个字符串取得持久类对象。
  3)返回PersistenceManager 管理的能持久类的JDO标识
 

  4)返回JDO标识对象的相应持久类实例。如果实例已经缓存,会返回缓存里的版本。否则会创建一个新的实

例。是否从数据库中装载数据则不一定。
  如果方法的参数为true,当前JDO标识在数据库中的记录不存在,那么JDO会抛出

JDODataStoreException。否则,JDO会返回一个未验证是否被其他持久管理者删除的已缓存的实例。一些

JDO实现品在没有缓存对象存在时会返回一个hollow实例。如果你访问这个对象的持久字段不会抛出异常。

8。7 Extent工厂

  扩展是所有能持久类的能持久实例的逻辑体现,包括子类在内。
  使用 PersistenceManager 的getExtent  方法可以取得扩展。有两个参数:扩展 包含的对象的类,和

一个提示是否包括子类的布尔类型的参数
  假如能持久类在元数据里的requires-extent属性设置为false,那么你不能得到该类的扩展。
 
8。8 查询工厂
  查询对象用来查找符合某些条件的持久化对象。你可以通过PersistenceManager的newQuery得到查询实

例。参考查询章节和Javadoc可以获得更详细信息。

8.9  关闭

  当不再需要PersistenceManager的时候,你应该调用它的close方法。

PersistenceManager:持久性npm库,允许您使用纯文本文件存储数据 持续性管理器 一个数据存储库,可用于将数据存储在JSON文件中。 创建PeristenceManager的目的是将数据存储在一个称为持久性的JSON文件中。 它被设计为仅使用本机的node.js依赖项。 在持久性内部存储着容器对象,其中包含已保存的数据。 每个容器包含一个元数据对象和一个数据数组。 例子 const PersistenceLib = require ( 'PersistenceManager' ) ; const Manager = PersistenceLib . Manager ( ) ; var PersistenceContainer = Manager . createPersistence ( "TempSave" , [ 5 , 10 , 15 , "StringElement" ] ) ; PersistenceContainer . addElement 立即下载

相关推荐

海康威视iSC平台视频流对接:RTSP、HLS、WS三种协议到底该怎么选?

本文深入分析海康威视iSC平台视频流对接中RTSP、HLS和WebSocket三种协议的优缺点,帮助开发者根据实时性、兼容性和网络环境做出最优选择。特别适合综合安防管理平台的Web视频监控系统开发,提升用户体验和系统性能。

weixin_28365523的博客 692

NC 数据库访问之PersistenceManager

NC后端操作数据库了解到的一共有三个: BaseDao 可指定数据源 执行sql V0兑现操作 PersistenceManager 可指定数据源 执行sql语句 DataAccessUtils 没有深入了解 看了下方法也是执行sql语句 同样 如果前段要调用 必须要通过接口访问 跟前面的BaseDao差不多 @Override public in...

Cc_Rain 2374

从门禁到支付:Uniapp+NFC开发避坑指南(支持Mifare Classic)

本文详细介绍了Uniapp结合NFC技术开发门禁与支付系统的实战指南,特别针对Mifare Classic卡片进行深度优化。内容涵盖环境配置、设备兼容性处理、卡片安全机制解析以及高性能读写优化策略,帮助开发者快速实现跨平台的智能硬件交互解决方案。

t1u2v的博客 751

persistence java_Java数据持久层 - Persistence Manager Factory

昨天还在用Torque,今天听说Hibernate更好,明天说不准又有更好的持久层工具...如何使应用程序不变化的情况下选择不同的持久层呢?看看Finetix LLC的资深顾问Charles Chan给我们现身说法。Charles Chan在文章 Object-Relational Mapping with Apache Jakarta OJB中介绍了Apache OJB的使用,并在文章附录中提到...

weixin_29166013的博客 419

MATLAB2021b详细安装教程

1.下载 2.安装 下载安装包后打开iso文件,若是无法打开请用解压软件打开。 ①打开MATLAB_R2021b_win64,双击软件开始安装 ② 一直点击下一步,直到步骤③ ③选择我已有我的许可证的文件密钥,并输入62551-02011-26857-57509-64399-54230-13279-37181-62117-65158-40352-64197-45508-24369-45954-39446-39538-16936-10698-58393-44718-32560-10501-40

惜洛-Jankin的博客 9万+

2026国内Claude Code保姆级教程:安装、避坑、防串台全优化

安装 Claude Code CLI + 切换 npm 国内镜像优先配置固定关闭:自动联网、自动项目扫描VSCode 内置终端直接用,不装多余插件会话隔离+指令约束,彻底解决 Rust、小程序 跨语言串台。

lpfasd123的博客 2552

Java 数据对象(JDO)介绍(二)

javax.jdo.PersistenceManagerFactoryPersistenceManagerFactory接口 被用来获得一个PersistenceManager 实例。这个接口中定义两个工厂方法(有关工厂方法的内容可以参考Java设计模式)。     public PersistenceManager getPersistenceManager()     publ

cowboy 1569

超声波雷达探测车位及信号处理方法

在APA泊车中用到了超声波雷达,第一次接触,总结研究之。

周陽讀書 1229

PersistenceManager 使用addBatch 批处理 setBatchSize

/*获取session*/ private JdbcSession getSession(){ JdbcSession session=null; try { manager = PersistenceManager.getInstance("WMS"); session= manager.getJdbcSession...

Cc_Rain 706

cesium 实时轨迹

运用cesium中model和polyline添加模型和轨迹线,用CallbackProperty方法来实时改变经纬度。

God's asylum的博客 1964

数据分享|1961-2017年中国0.25°×0.25° 逐日地表水文数据集(VIC-CN05.1)

其中,全球径流中心(University of New Hampshire and Global Runoff Data Centre, UNH/GRDC)的复合产流场集成了观测的河道径流和水量平衡模式模拟的地表和地下径流,常被用来评估模拟的径流。在长白山、海北灌丛和千烟洲通量站,模拟与观测的逐月潜热通量的平均NSE为0.61。VIC-CN05.1受益于较准确的大气驱动场、先进的地表水文参数化方案以及更真实丰富的土壤信息,可作为中国水文气象研究的参照数据,用于陆面模式的评估和长期的趋势分析等。

J_Giser的博客 1833

【Hive】Hive 本地启动时报错 Persistence Manager has been closed

解决办法是将 ObjectStore 类中静态变量 forTwoMetastoreTesting 为 true

HHoao的博客 1227

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

JDO快速入门

<br />JDO快速入门Java数据对象(Java Data Objects,JDO)是一个应用程序接口(API),它是Java程序员能够间接地访问数据库,也就是说,不需使用直接的结构化查询语言(SQL)语句。JDO是作为Java数据库连接(JDBC)的一个补充来介绍的,而JDBC是一个支持使用SOL语句对流行的数据库程序进行访问的接口。有了 JDO,程序员就可以使用类来定义数据对象,然后支撑程序就会根据类的定义来管理对给定数据库的实际的数据访问了。  <br /><br />      JDO是以Sun

liuzhigang1237的专栏 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

一起谈.NET技术,NHibernate 变的简单

  下载示例程序代码 - 1,162.6 KB   前言   这篇文章出自于我尝试学习使用Nhiberbnate的挫败感。我发现好像Nhibernate全部的介绍材料不是很模糊就是太详细。我所需要的就是一个简单直接的教程,能让我尽快对NHibernate熟悉起来。我从来没有找到。幸运的是,这篇文章将会满足别人的这些需求。   这篇文章有些长,但是我鼓励你以你的方式来阅读。NHibernate是一...

weixin_33738555的博客 203

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

JDO PersistenceManager 介绍

PersistenceManagerPersistenceManager可以说是JDO中使用非常频繁的一个类。很多对持久化对象的操作(就是对数据库的操作)都是通过这个类进行的,今天我把这个类中主要方法的使用和说明作一个简单的讲解,希望对大家学习JDO有所帮助。上图显示的是PersistenceManager接口的常用方法和属性,它包含很多标准的JavaBean属性方法setter和

2305

Hive Metastore ObjectStore PersistenceManager自动关闭bug解析

最近在测试HCatalog,由于Hcatalog本身就是一个独立JAR包,虽然它也可以运行service,但是其实这个service就是metastore thrift server,我们在写基于Hcatalog的mapreduce job时候只要把hcatalog JAR包和对应的hive-site.xml文件加入libjars和HADOOP_CLASSPATH中就可以了。不过在测试的时候还是遇

yukangkk的技术博客 4598

javax.persistence.EntityManager 用法

javax.persistence.EntityManager 是一个PA接口 发布 接口EntityManager 接口用于与持久化上下文交互。 一个EntityManager实例与持久化上下文相关的。一个持久化上下文是一组中的实体实例的任何持久的实体的身份有一个独特的实体实例。在持久性上下文中,实体实例及其生命周期管理。这个EntityManagerAPI是用于创建和删除持久的实体实例...

bird_tp的博客 1万+

kodojdo指南第六章

 第六章 JDOHelper  上图列出了JDOHelper最常用的方法。详细的API信息请参考类的Javadoc文档  应用程序使用JDOHelper进行三类操作:能持久化操作,生存期操作和创建PersistenceManagerFactory 。我们逐一研究。6.1 能持久化操作    前两个操作makeDirty和getObjectId我们已经见过。假设一个能持久化对象和字段名被

WalkingWithJava 1286

java入门篇 (33) jdk1.8 新特性

文章目录一、新增的日期类1.1 LocalDateTime类1.2 格式化日期字符串的方法1.3 转换方法1.4 判断方法1.5 将字符串解析为日期类1.6 给指定的日期增减时间二、Instant时间戳类2.1 Instant类常用方法2.2 时区编号类ZoneID2.3 Duration : 用于计算两个“时间”间隔的类2.4 Period : 用于计算两个“日期”间隔的类2.5 Tempora...

初心魏的博客 858

Hive配置项的含义详解

关于MetaStore:metastore是个独立的关系数据库,用来持久化schema和系统元数据。 hive.metastore.local:控制hive是否连接一个远程metastore服务器还是开启一个本地客户端jvm,默认是true,Hive0.10已经取消了该配置项; javax.jdo.option.ConnectionURL:JDBC连接字符串,默认jdbc:derby:;dat

aaa1117a8w5s6d的专栏 1万+

Hive配置属性

Hive配置属性 原文路径:https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-HiveConfigurationProperties Hive配置属性 查询和DDL执行 SerDes和I / O. 串行解串器 I / O ...

tianhouquan的专栏 1491

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 198

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 130

Docker Compose:搭建本地多服务开发环境

从一个 Java API、PostgreSQL 和 Redis 开始,配置服务名、端口、环境变量、健康检查、数据卷和依赖关系。理解 Compose 文件如何被解析、项目如何隔离,以及哪些数据不能依赖“重建容器”保留,能够把个人开发环境整理成团队可复用的启动入口。

m0_62221377的博客 456

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 409
上一篇: kodojdo指南第七章
下一篇: kodojdo指南第九章
云哥
码龄22年 2粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值