- 探索Cachier:Python函数的持久化缓存利器
胡同琥Randolph
探索Cachier:Python函数的持久化缓存利器cachierPersistent,stale-free,localandcross-machinecachingforPythonfunctions.项目地址:https://gitcode.com/gh_mirrors/ca/cachier在Python开发的世界中,性能优化和资源管理是永恒的话题。今天,我们要介绍的是一个强大的开源项目——C
- Mysql报错
微风粼粼
mysqladbandroid
1.权限问题MySQL认证协议不兼容问题解决方案这个错误表明您的MySQL客户端与服务器要求的认证协议不兼容,通常发生在MySQL8.0+服务器与旧版客户端之间。nestedexceptionisorg.apache.ibatis.exceptions.PersistenceException:Errorqueryingdatabase.Cause:org.springframework.jdbc
- RK3128 通过串口终端 打开网络ADB
站在巨人肩膀上的码农
RK3128驱动开发rk安卓adb
操作如下:rk3128:/#stopadbdrk3128:/#setproppersist.sys.tcpadb1rk3128:/#setpropservice.adb.tcp.port5555rk3128:/#startadbd然后就可以去连接网络adb了。persist.sys.tcpadb这个属性名字可以自己在代码里面去设置,不一定要叫这个名字。
- 如何用 Spring Boot 轻松集成数据库:JPA 与 MyBatis 实践
zhyoobo
springboot数据库mybatisjava开发语言设计模式
一、持久层技术选型之道1.1ORM框架的哲学分野在Java生态中,JPA与MyBatis代表着两种截然不同的设计理念。JPA(JavaPersistenceAPI)作为规范化的ORM标准,强调面向对象思维与声明式编程,而MyBatis则延续了SQL原生的灵活性与控制力。SpringBoot通过自动配置机制,为两种技术提供了无缝集成方案。据统计,2023年StackOverflow开发者调查显示,J
- Docker部署java项目,基于Dockerfile文件构建镜像
一头生产的驴
运维开发dockerjava容器运维开发开源jvm
一、准备Docker环境1、安装依赖sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm22、添加软件源头(阿里源)-加速sudoyum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3、更新yumsudoyu
- TCP 坚持定时器详解:原理、配置与最佳实践
Dsocc
tcp/ip网络网络协议
一、TCP坚持定时器基础原理1.1坚持定时器的设计目的TCP坚持定时器(TCPPersistTimer)是TCP协议中用于处理接收窗口为零情况的重要机制,其核心设计目的是防止TCP连接在窗口更新ACK丢失时陷入死锁状态。当TCP连接的接收方通告一个窗口大小为0的ACK时,发送方会停止发送数据。如果后续接收方处理了部分数据并发送一个非零窗口通告的ACK报文在网络中丢失,发送方将永远不知道窗口已经重新
- python 数据库连接池_python数据库连接池
weixin_39532466
python数据库连接池
一DBUtils的认识首先管理数据库连接池的包是DBUtils,为高频度并发的数据库访问提供更好的性能,可以自动管理连接对象的创建和释放,最常用的两个外部接口是PersistentDB和PooledDB,前者提供了单个线程专用的数据库连接池,后者则是进程内所有线程共享的数据库连接池。二DBUtils简介DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。
- Hibernate中save与saveOrUpdate的差异解析
代码的余温
hibernateoracle数据库
在Hibernate中,save()和saveOrUpdate()都是用于持久化对象的方法,但它们的适用场景和行为有显著差异:1.save()方法核心行为:仅适用于瞬时态(Transient)对象(即新创建、未与Session关联的对象)。会立即为对象分配一个标识符(ID),并计划在事务提交时执行INSERT操作。若尝试对已持久化(Persistent)或游离态(Detached)对象调用save
- 六级作文/翻译-24.12(1)
谢耳朵(wer~wer~)
英语笔记
作文:Toincreasethelikelihoodofsuccess,oneshouldsetrealisticgoalsandworkpersistentlytowardsthemToincreasethelikelihoodofsuccess,oneshouldsetrealisticgoalsandworkpersistentlytowardsthem.Thistruthiswidelya
- Akka Persistence MongoDB 驱动:高效持久化解决方案
韩烨琰
AkkaPersistenceMongoDB驱动:高效持久化解决方案akka-persistence-mongoImplementationofakka-persistencestoragepluginsformongodb项目地址:https://gitcode.com/gh_mirrors/ak/akka-persistence-mongo项目介绍AkkaPersistenceMongoDB驱
- 【软考高级系统架构论文】论企业应用系统的数据持久层架构设计
_Richard_
软考高级系统架构论文系统架构
论文真题数据持久层(DataPersistenceLayer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问数据源的方法,使其专注于业务逻辑的开发,并且能够在不同项目中重用本框架,这大大简化了数据的增加、删除、修改、查询功能的开发过程,同时又不丧失
- 掌握Spring Boot数据库集成:用JPA和Hibernate构建高效数据交互与版本控制
2的n次方_
springboot数据库hibernate
在现代应用开发中,数据库操作是核心环节之一。SpringBoot提供了简化数据库集成的强大工具,而JPA(JavaPersistenceAPI)和Hibernate是两种非常流行的ORM(对象关系映射)框架,可以帮助我们将对象与数据库表关联,实现自动化的持久化操作。本文将详细介绍如何通过SpringBoot集成JPA和Hibernate,构建高效的数据交互系统,并讨论数据迁移与版本控制的最佳实践。
- 网络攻击
Ludwig_Martin
安全
本文分3段讲一下网络攻击:网络攻击相关技术,防御相关技术,安全事件。(慢慢补充)网络攻击相关技术APT(AdvancedPersistentThreat)高级持续性威胁。0day:Dos:DDos:Webshell:暴力破解:恶意CC:DGA:僵尸:木马:蠕虫:病毒:Ping隧道:DNS隧道:ECA/ETA:SQL注入:字面意思https://blog.csdn.net/xiaoi123/arti
- 新建笔记源码
无数碎片寻妳
海陆空自动化学习方案笔记java前端
v1#NoEnv#Persistent#SingleInstanceForceSendModeInputSetWorkingDir%A_ScriptDir%SetBatchLines-1;设置坐标模式CoordMode,Mouse,ScreenCoordMode,ToolTip,ScreenCoordMode,Gui,Screen;---全局变量---globalTyporaConfigFile:
- MyBatis与JPA有哪些不同?
java1234_小锋
javajava开发语言
大家好,我是锋哥。今天分享关于【MyBatis与JPA有哪些不同?】面试题。希望对大家有帮助;MyBatis与JPA有哪些不同?超硬核AI学习资料,现在永久免费了!MyBatis和JPA(JavaPersistenceAPI)是两种常用于Java应用中的数据持久化框架,它们有着不同的设计理念和实现方式。下面是它们的主要区别:抽象层次:MyBatis:MyBatis是一个半自动化的持久化框架,开发者
- CppCon 2016 学习:Lightweight Object Persistence With Modern C++
虾球xz
CppCon学习c++开发语言
你给出的这段文字是某个演讲、论文或者技术文档的概要(Overview)部分,内容主要是关于内存分配器(allocator)设计以及**对象持久化(objectpersistence)**的一些思路。让我帮你逐条解析和理解:Overview(概要)•Goals(目标)Describeawayofthinkingaboutallocatordesignthatmaybehelpful描述一种设计内存分
- “币”立不败之地:构建幂等的“确保币种存在”接口 (Spring Data JPA (Jakarta Persistence API, Jakarta 持久化应用程序接口) 与预定义数据实战) ✨
小丁学Java
SpringDataJPAjpa
️“币”立不败之地:构建幂等的“确保币种存在”接口(SpringDataJPA(JakartaPersistenceAPI,Jakarta持久化应用程序接口)与预定义数据实战)✨Hello,各位在数据一致性与API(ApplicationProgrammingInterface,应用程序编程接口)健壮性上精益求精的开发者们!在许多系统中,我们需要确保某些基础数据(如国家、币种、分类等)在被业务逻辑
- 币种管理的“瑞士军刀”:构建动态可搜索的币种查询 Spring Data JPA ✨
小丁学Java
SpringDataJPAjpa
币种管理的“瑞士军刀”:构建动态可搜索的币种查询API(ApplicationProgrammingInterface,应用程序编程接口)(SpringDataJPA(JakartaPersistenceAPI,Jakarta持久化应用程序接口)Specification实战)Hello,各位在代码世界中追求数据管理极致与API(ApplicationProgrammingInterface,应用
- 网络安全——网络渗透测试入门
xut滕羽凡
网络安全网络协议学习方法
⼀、行业术语介绍渗透测试(PenetrationTesting):模拟黑客攻击手段对目标系统进行安全评估的过程。APT(AdvancedPersistentThreat):高级持续性威胁,指有组织的、长期针对性的网络攻击。PTES(PenetrationTestingExecutionStandard):渗透测试执行标准,指导渗透测试的行业标准。等保测评(InformationSecurityLe
- JPA全面指南:使用步骤、语法详解与实战案例
cyc&阿灿
javamysqlsql
一、JPA概述与核心概念1.1什么是JPA?JavaPersistenceAPI(JPA)是JavaEE和JavaSE平台上的ORM(对象关系映射)标准规范,它简化了Java应用程序与数据库的交互过程。JPA不是具体的实现,而是一套接口规范,常见的实现框架有Hibernate、EclipseLink等。1.2JPA核心组件Entity(实体):映射到数据库表的Java类EntityManager:
- Flutter 空安全的糖果罐,墙都不扶就服你
m0_64319333
程序员面试android移动开发
SliverPinnedPersistentHeader,跟官方的SliverPersistentHeader(pinned:true)一样的效果,不同的是你不需要去设置minExtent和maxExtent。因为大部分场景下面,我们是无法提前知道minExtent和maxExtent。SliverPinnedToBoxAdapter,可以通过它轻松创建一个置顶的元素,当child没有layout
- K8S中的PV、PVC和StorageClass
默心
K8Skubernetes容器云原生
如果要求Pod重新调度后仍然能使用之前读写过的数据,就只能使用网络存储了,网络存储种类非常多且有不同的使用方法,通常一个云服务提供商至少有块存储、文件存储、对象存储三种。Kubernetes解决这个问题的方式是抽象了PV(PersistentVolume)和PVC(PersistentVolumeClaim)来解耦这个问题,从而让使用者不用关心具体的基础设施,当需要存储资源的时候,只要像CPU和内
- 【Unity 银河系生成工具】Persistent Galaxy Generator with Solar Systems and Planets 专为太空探索、科幻题材或程序化星系项目开发而设计
Unity游戏资源学习屋
Unity插件
PersistentGalaxyGeneratorwithSolarSystemsandPlanets是一款用于Unity的可拓展银河系生成工具,专为太空探索、科幻题材或程序化星系项目开发而设计。它能生成包含恒星系统、行星、卫星等内容的完整银河,并支持数据持久化(Persistence),可在多次运行中保持一致性或保存玩家探索进度。该插件非常适用于开发星际旅行、宇宙探索、生存冒险、策略或模拟类游戏
- RabbitMQ面试题
御风行云天
面试题大全rabbitmq分布式
RabbitMQ面试题1RabbitMQ基础1.1什么是RabbitMQ,它的基本架构是怎样的?1.2RabbitMQ中的交换器(Exchange)有哪些类型,各自的特点是什么?1.3死信队列(Dead-LetterQueue)是什么,使用场景有哪些?2消息队列原理2.1什么是持久化消息(PersistentMessage)?2.2什么是消息确认(MessageAcknowledgement),它
- jsp el表达式解析嵌套集合对象(多层list,map嵌套),基于struts
weixin_30631587
java
action中对象1privateListcityBaseDetailsbean对象1publicclassPerforSalaryBaseextendsAbstractPersistencePaymentObject{23privatestaticfinallongserialVersionUID=-134052330509224847L;45privateLongorgUnitId=null;
- docker、docker-compose常用命令
斯普信云原生组
docker容器运维
初学者使用的docker、docker-compose常用命令,日常练习,环境简单搭建。一、docker1.1、安装docker1.1.1、yum安装#安装docker的数据存储驱动包yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#设置新的安装源、下载配置文件到本地yum-config-manager--add-repohttps://
- Spring Boot 技术博客:构建现代Web应用的全栈指南
2301_81335708
前端后端java
在这篇教程中,我们将深入探讨如何使用SpringBoot构建一个功能齐全的Web应用程序JPA(JavaPersistenceAPI)定义JPA是JavaEE的一个标准,用于对象关系映射(ORM)。它允许开发者使用Java对象来操作数据库,而不必直接编写SQL语句。应用场景JPA适用于需要与关系型数据库交互的Java应用程序,尤其是在需要简化数据访问层的开发时。原理剖析JPA通过注解和XML配置来
- pinia-plugin-persistedstate 插件不生效
@泽栖
bug
引入使用该插件使用时发现不生效原因:pinia实例调用顺序不当将://import'./assets/main.css'import{createApp}from'vue'import{createPinia}from'pinia'importpiniaPluginPersistedstatefrom'pinia-plugin-persistedstate'importAppfrom'./App.
- UE4 C++ 在屏幕上绘制线和文字的方法
北极熊的奋斗史
UE4UE4C++绘制文字
1.通过C++代码,在屏幕上绘制点、线、圆等图形来进行调试或显示效果。voidDrawDebugLine(constFVector&StartPost,constFVector&EndPos,constFLinearColor&LineColor){ULineBatchComponent*constLineBatcher=GetWorld()->PersistentLineBatcher;//Ge
- @Pushgateway 数据自动清理
时间裂缝里的猫-O-
PrometheusMonitorchromeprometheus
文章目录Pushgateway数据自动清理一、Pushgateway数据清理的必要性二、自动清理方案方案1:使用带TTL功能的Pushgateway分支版本方案2:使用Shell脚本定期清理方案3:结合Prometheus记录规则自动清理三、最佳实践建议四、验证与维护五、示例1.基于时间的自动清理1.1使用Pushgateway的API定期清理1.2使用Pushgateway的`--persist
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持