- android系统selinux中添加新属性property
辉色投像
1.定位/android/system/sepolicy/private/property_contexts声明属性开头:persist.charge声明属性类型:u:object_r:system_prop:s0图12.定位到android/system/sepolicy/public/domain.te删除neverallow{domain-init}default_prop:property
- 博客网站制作教程
2401_85194651
javamaven
首先就是技术框架:后端:Java+SpringBoot数据库:MySQL前端:Vue.js数据库连接:JPA(JavaPersistenceAPI)1.项目结构blog-app/├──backend/│├──src/main/java/com/example/blogapp/││├──BlogApplication.java││├──config/│││└──DatabaseConfig.java
- Kubernetes的3种数据持久化方式
Seal^_^
【云原生】容器化与编排技术持续集成#Kuberneteskubernetes容器云原生EmptyDir面试HostPath
Kubernetes的3种数据持久化方式1.EmptyDir2.HostPath3.PersistentVolume(PV)TheBegin点点关注,收藏不迷路Kubernetes提供了几种数据持久化方式,以满足不同场景的需求:1.EmptyDir用途:临时数据存储,Pod内容器间共享。特点:生命周期与Pod相同,Pod删除时数据也删除。2.HostPath用途:访问宿主机特定文件或目录。特点:增
- Jooq 框架介绍及其核心要点
木南曌
Javajava
一、引言Jooq(JavaPersistenceforRelationalDatabases)是一个强大的类型安全的SQL查询构建器和ORM(Object-RelationalMapping)框架,专为Java和Kotlin设计。它为开发者提供了一种优雅的方式来编写SQL代码,同时还能享受到静态类型检查带来的好处。本文将详细介绍Jooq的核心功能,并通过一系列的代码示例来展示如何使用Jooq。二、
- Spring Data JPA
kjcoder
SpringDataJPA后端
JPA概述JPA的全称是JavaPersistenceAPI,即Java持久化API,是SUN公司推出的一套基于ORM的规范,内部是由一系列的接口和抽象类构成。JPA规范不干活,真正干活的是依托与它的实现方式(例:hibernate)。搭建环境(需求:保存客户)1.创建maven工程导入坐标org.hibernatehibernate-entitymanager2.需要配置jpa的核心配置文件*位
- IEEE投稿无法上传文件问题(An error has occurred.Please try again......)
LeeYLong
经验分享
投稿上传手稿出现:Anerrorhasoccurred.Pleasetryagain.Iftheproblempersists,pleasecontacttheSupportTeamformoreinformationandinstructions.TheSupportTeam`scontactinformationcanbeobtainedbyclickingthe‘Help’linkinthe
- Pinia持久化插件:pinia-plugin-persistedstate
正小安
vue杂谈vue.js前端
Pinia持久化插件pinia-plugin-persistedstate是一个Pinia插件,用于持久化Piniastore的状态到本地存储(如localStorage或sessionStorage)。以下是关于pinia-plugin-persistedstate的使用及配置的详细说明:使用步骤安装插件使用以下命令安装pinia-plugin-persistedstate:pnpmaddpin
- 运维学习————Zookeeper(2)
乆乄
学习
目录一、zk节点和节点类型1、节点类型2、常用命令1、客户端链接2、常用命令3、权限控制相关命令特性授权格式测试一、zk节点和节点类型1、节点类型1、PERSISTENT--持久化目录节点客户端与zookeeper断开连接后,该节点依旧存在2、PERSISTENT_SEQUENTIAL-目持久化顺序编号录节点客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进
- CentOS7 安装Docker,并配置阿里云镜像
JBryan
1、安装Docker1.1、安装gccyum-yinstallgccgcc-c++1.2、安装需要的软件包yuminstall-yyum-utilsdevice-mapper-persistent-datalvm21.3、设置stable镜像仓库yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/
- k8s 存储(PV、PVC、SC、本地存储、NFS)
大江东去了吗
kubernetesjavalinux
存储持久化相关三个概念:PersistentVolume(PV)是对具体存储资源的描述,比如NFS、Ceph、GlusterFS等,通过PV可以访问到具体的存储资源;PersistentVolumeClaim(PVC)Pod想要使用具体的存储资源需要对接到PVC,PVC里会定义好Pod希望使用存储的属性,通过PVC再去申请合适的存储资源(PV),匹配到合适的资源后PVC和PV会进行绑定,它们两者是
- 【Material-UI】Drawer组件中的Persistent Drawer详解
Peter-Lu
#material-uiuijavascript前端Material-UIreact.js
文章目录一、Drawer组件概述1.组件介绍2.PersistentDrawer的作用二、PersistentDrawer的基本用法三、PersistentDrawer的核心概念详解1.`variant="persistent"`2.状态管理3.自定义`AppBar`和`Main`区域4.记住抽屉状态四、PersistentDrawer的实际应用场景1.后台管理系统2.需要记忆导航状态的应用3.大
- uniapp中使用pinia,并做数据持久化
Terminal丶句点
小程序uniapppiniapinia小程序vue.js
安装依赖pnpmipiniapinia-plugin-persistedstate@nuxt/devalue-S创建store文件夹,创建持久化插件/store/plugins.tsimport{App}from'vue'import{createPinia}from'pinia'importdevaluefrom'@nuxt/devalue'import{createPersistedState
- Pinia持久化的作用
一杯梅子酱
前端vue前端vscodevue微信小程序
Pinia是一个轻量级的Vue状态管理库,用于替代Vuex4。它提供了一个更加直观和简洁的方式来管理Vue应用的状态。而Pinia的持久化(Persistence)功能,则是指将Piniastore中的状态持久化到浏览器存储(如localStorage或sessionStorage)中,以便在页面刷新或应用重新加载时能够恢复这些状态。Pinia持久化的主要作用有以下几点:保持用户状态:当用户与Vu
- 小程序端pinia持久化
为什么没有实习
小程序前端javascript
index.ts//创建pinia实例constpinia=createPinia()//使用持久化存储插件pinia.use(persist)//默认导出,给main.ts使用exportdefaultpiniamain.tsimport{createSSRApp}from'vue'importpiniafrom'./stores'importAppfrom'./App.vue'exportfu
- SpringBoot学习(5)Spring boot Jpa使用
星河漫漫l
springboot开发语言运维开发学习
SpringBootJpa介绍首先了解Jpa是什么?Jpa(JavaPersistenceAPI)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,Jpa是在充分吸收了现有Hibe
- 【陪诊系统-PC管理端】vuex数据持久化实现
Zheng113
前端vue.js前端javascript
问题:根据前面的功能步骤,虽然已经实现了动态路由添加,但是当重新刷新后,页面也出现暂时性空白。究其根本,这是因为vuex中保存的数据不具有持久化,每次刷新会重建vue实例,而store是挂载是vue实例上的,所以刷新后state中的数据会被重新初始化。解决办法:使用浏览器缓存,但这里为了简便使用vuex-persistedstate插件来实现,这个插件本质还是localstorage。附上插件介绍
- k8s访问外部mysql_Kubernetes连接外部数据源
健玮
k8s访问外部mysql
Kubernetes架构下比较核心的问题是数据如何persistance,虽然提供了Persistentvolumn的方式,但是对于像数据库之类的产品在kubernetes集群环境中运行和管理还是很有难度的,Kubernetes提供了endpoints这种模式让外部的服务映射成内部的服务,这样比较好的解决了集群对外的连接问题,如果我们去连接外部的一个oracle数据库,具体的步骤如下:建立endp
- 07-02 Filtering(过滤 )&& 07-03 Sorting(排序 )
汤姆•猫
XPO.netlinq数据库XPO
07-02Filtering(过滤)XPOallowsyouto:XPO允许您:filterdataitemsinadatastorepriortoretrievingdata,在检索数据之前过滤数据存储中的数据项,filterthealreadyretrievedpersistentobjectsontheclientside.在客户端过滤已检索到的持久对象。FilterDataontheSer
- JPA简介与实战
是Guava不是瓜娃
SSMjpa
一、什么是JPAJPA:JavaPersistenceAPI,Java持久层API。是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。类似于JDBC,JPA是一组规范(接口),使应用程序以统一方式访问持久层。具体的实现:HibernateToplink其他ORM框架JPA和Hibernate的关系JPA是规范:JPA本质上就是一种ORM规范,不是ORM框架
- 2022-12-28-PV和PVC简介、使用案例,动静态挂载;
DGFM
PV/PVC简介PV:PersistentVolumePVC:PersistentVolumeClaim用于实现pod和storage的解耦,这样我们在修改存储的同时,不需要修改pod。与NFS的区别,可以在PV和PVC的层面上实现对存储服务器的空间分配,存储权限管理等。kubernetes在1.0版时开始支持PV和PVC。PV:是集群中由kubernetes管理员配置的一个网络存储,一个集群中的
- 在Linux环境的docker中安装neo4j,并且安装APOC插件(从零开始手把手教学安装版本)
Ciao112
linuxdockerneo4j
首先是需要安装docker,我的Linux环境是CentOS更新yum包索引并安装依赖包:sudoyumupdatesudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2添加Docker官方仓库:sudoyum-config-manager--add-repohttps://download.docker.com/linux/cento
- 2019-01-30
苏泛舟
《留给2018》时间是一只藏在黑暗中的温柔手,在你的一个恍惚里,物换星移,毫不留情。转眼间2018只剩下最后不到几天图片发自App,一直以来我算是个对时间后觉的人也许我对很多事物和人都是"迟钝慢熟"的从接触到认识熟悉都需要一个过程这过程里涉及了真实真诚的含度或者说自我审核判断我们很难从谨慎和责任间寻求一个平衡只能说习惯使然。却无需展望或应调整只要好好走接下来的每一步路。珍惜当下方有未来回顾过往却不
- SpringBoot项目中使用SpringData-JPA持久化数据
火星刻苦的杏仁
springbootjavamybatis
目录一、什么是JPA二、SpringData-JPA与MybatisPuls的区别三、项目中使用JPAJPA常用注解JPA进阶使用技巧一、什么是JPAJPA是JavaPersistenceAPI的简称,中文名Java持久层API,其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术。简单地说,JPA就是为POJO(PlainOrdinaryJavaObject)提供持久化的标准规范,即将J
- xss举例和防范措施
abytecoder
开发语言
跨站脚本攻击(Cross-SiteScripting,简称XSS)是一种网络安全漏洞,攻击者通过在网页中注入恶意脚本,诱使用户执行这些脚本,从而达到窃取用户信息、劫持用户会话、重定向用户请求等目的。XSS攻击有三种主要类型:1.储存型(PersistentXSS):恶意脚本会被永久存储在目标服务器上,如用户评论区中的恶意代码。2.反射型(ReflectedXSS):恶意脚本存在于目标链接中,用户点
- 使用pnpm安装并配置Pinia的持久化插件pinia-plugin-persistedstate
正小安
vue杂谈前端fluttervue.js
使用pnpm安装并配置Pinia的持久化插件pinia-plugin-persistedstate在开发Vue.js或任何基于Pinia状态管理库的应用时,保持用户状态在会话或页面刷新后依然可用是一个常见的需求。pinia-plugin-persistedstate正是为此而生,它允许你将Pinia的状态管理库中的状态持久化到本地存储(LocalStorage)或会话存储(SessionStora
- Java Hibernate深度解析:11步精通ORM框架的艺术与安全
墨瑾轩
Java乐园javahibernate安全
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣第1章:引言:JPA与Hibernate的邂逅1.1什么是JPA?Hey,小伙伴们,欢迎来到JPA的奇妙世界!JPA,全称JavaPersistenceAPI,是一个让Java程序和数据库愉快玩耍的桥梁。想象一下,你有一个装满玩具的盒子,JPA就是帮你把玩具(
- Pinia持久化存储揭秘:本地存储 vs 会话存储
正小安
vue杂谈前端javascript开发语言
Pinia持久化存储揭秘:本地存储vs会话存储引言:众所周知,pinia持久化插件pinia-plugin-persistedstate可以使pinia存储数据持久化(这是一句废话)。所以我就产生了疑问:持久化存储在哪?答案是本地存储。为什么不用会话存储呢?借此机会复习一下本地存储的使用(原生html),再和会话存储对比得出之前问题的答案。目录Pinia持久化存储揭秘:本地存储vs会话存储本地存储
- SpringBoot JPA
Puny丶微芒
定义JPA是JavaPersistenceAPI的简称,中文名Java持久层API,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的总体思想和现有Hibernate、TopLink、JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:1.ORM映射元数据JPA支持XML和JDK注解两种元数据的形式,元数据描述对象和表之间的映射关系,
- 全球高级持续威胁:网络世界的隐形战争
紫队安全研究
网络运维安全
背景在当今数字化时代,网络安全已经成为全球各国政府、企业和个人面临的最紧迫问题之一。高级持续威胁(APT,AdvancedPersistentThreats)是网络攻击中最复杂、最隐蔽、最具破坏力的一种形式。APT攻击者通常由国家支持或具备高度专业技能,他们使用复杂的策略和工具,长期潜伏在目标网络中,窃取敏感信息、破坏关键基础设施或获取经济利益。近年来,APT攻击事件频发,涉及多个国家和行业,造成
- Android adb shell查看手机user,user_root,user_debug版本
zhangphil
Androidabdandroidadb
Androidadbshell查看手机user,user_root,user_debug版本1、首先,adbshell2、进入后,运行:getprop|grepro.system.build.type即会输出当前手机类型user,user_debug等。另外,也可以运行:getprop|greppersist.user.root.support1代表是user_root版本,否则是user版本。A
- 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独立出来,数据持