- Grafter 项目常见问题解决方案
虞耀炜
Grafter项目常见问题解决方案grafterGrafterisalibrarytoconfigureandwireScalaapplications项目地址:https://gitcode.com/gh_mirrors/gr/grafter项目基础介绍Grafter是一个用于配置和连接Scala应用程序的库。它通过使用构造函数注入来实现依赖注入,避免了反射、XML配置、实现继承或自类型等复杂机
- java.lang.NoClassDefFoundError 报错解决
GeniuswongAir
java开发语言
找不到Class的报错原因有很多种,无非是文件路径、包名、AndroidManifest.xml配置、缓存、等等。我这个的原因是,在Kotlin包里面导入了一个java写的Activity,导致不找到Class。解决:(加上这个配置就好了)android{sourceSets{main{java.srcDirs+='src/main/kotlin'}}FATALEXCEPTION:mainProc
- spark官方配置参数详解
我丶怀念的
sparkscalads
以下是整理的Spark中的一些配置参数,官方文档请参考SparkConfiguration。Spark提供三个位置用来配置系统:Spark属性:控制大部分的应用程序参数,可以用SparkConf对象或者Java系统属性设置环境变量:可以通过每个节点的conf/spark-env.sh脚本设置。例如IP地址、端口等信息日志配置:可以通过log4j.properties配置Spark属性Spark属性
- Flink访问Kerberos环境下的Hive
我若成风zhb
flinkflinkkerberoshivehadoop
目录测试环境工程搭建示例代码及运行总结本文主要介绍如何使用Flink访问Kerberos环境下的Hive。测试环境1.hive版本为2.1.12.flink版本为1.10.0工程搭建使用IDE工具通过Maven创建一个Java工程,具体创建过程就不详细描述了。1.在工程的pom.xml文件中增加如下依赖org.apache.flinkflink-java${flink.version}provid
- XML DOM 节点
shangaoo
xml前端javascript
在DOM中,XML文档中的每个成分都是一个节点。DOM节点根据DOM,XML文档中的每个成分都是一个节点。DOM是这样规定的:整个文档是一个文档节点每个XML元素是一个元素节点包含在XML元素中的文本是文本节点每一个XML属性是一个属性节点注释是注释节点DOM实例请看下面的XML文件(books.xml):books.xml文件代码:EverydayItalianGiadaDeLaurentiis
- DTD - XML 构建模块
kekexi1i
xml算法
XML和HTML文档的主要的构建模块是元素标签。XML文档构建模块所有的XML文档(以及HTML文档)均由以下简单的构建模块构成:元素属性实体PCDATACDATA元素元素是XML以及HTML文档的主要构建模块。HTML元素的例子是"body"和"table"。XML元素的例子是"note"和"message"。元素可包含文本、其他元素或者是空的。空的HTML元素的例子是"hr"、"br"以及"i
- Jackson-Module-Scala 常见问题解决方案
皮奕清Primavera
Jackson-Module-Scala常见问题解决方案jackson-module-scalaAdd-onmoduleforJackson(https://github.com/FasterXML/jackson)tosupportScala-specificdatatypes项目地址:https://gitcode.com/gh_mirrors/ja/jackson-module-scala项
- java mybatis @Select() 注解中script 执行like
风_流沙
javamybatistomcat
在MyBatis中执行LIKE查询,可以使用以下方法:XML配置方式:SELECT*FROMyour_tableWHEREnameLIKECONCAT('%',#{keyword},'%')这里的#{keyword}是你的查询关键字参数。注解方式:@Select("SELECT*FROMyour_tableWHEREnameLIKECONCAT('%',#{keyword},'%')")Lists
- 小程序picker标题_微信小程序之picker
风吹幡动wsd
小程序picker标题
下面来介绍小picker,分三种样式:默认的自己可以定义数据的mode="time"是时间选择器mode="date"是日期选择器跟其他的一样先来看下picker.wxmlpicker选择器地区选择器当前选择:{{array[index]}}时间选择器当前选择:{{time}}日期选择器当前选择:{{date}}picker.wxsspage{background-color:#fbf9fe;he
- Android的Manifest配置文件介绍,30分钟轻松入门flutter
笃孟夏雨
程序员androidfluttergitee
一、关于AndroidManifest.xmlAndroidManifest.xml是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities,services,等等),他们各自的实现类,各种能被处理的数据和启动位置。除了能声明程序中的Activities,ContentProviders,Services,和IntentReceivers
- BPMN.js详解
GISer_Jinger
Javascript前端基础项目javascript开发语言ecmascript
bpmn.js是一个基于JavaScript的开源库,它允许开发者在Web应用程序中创建、查看和编辑BPMN2.0流程图。以下是对bpmn.js的详细解析:一、基本概念与功能定义:bpmn.js是bpmn-io团队开发的一个JavaScript库,它专注于BPMN(业务流程模型和标记法)2.0标准的实现。主要功能:渲染BPMN图表:bpmn.js能够将BPMN2.0的XML文件渲染成SVG格式的图
- 【由浅入深认识Maven】第2部分 maven依赖管理与仓库机制
Suwg209
由浅入深认识mavenmavenjava
文章目录第二篇:Maven依赖管理与仓库机制一、前言二、依赖管理基础1.依赖声明2.依赖范围(Scope)3.依赖冲突与排除三、Maven的仓库机制1.本地仓库2.中央仓库3.远程仓库四、版本管理策略1.固定版本2.版本范围五、总结第二篇:Maven依赖管理与仓库机制一、前言后端研发同学经常面临项目中需要依赖大量第三方库的情况。这些依赖库通常是我们工作中的基础工具,例如Spring、Log4j、J
- Java中的注解
RB_VER
Java基础java编程语言
为什么要引入注解?使用【注解】之前(甚至在使用之后),【XML】被广泛的应用于描述元数据,得到各大框架的青睐,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,【XML】的内容也越来越复杂,一些应用开发人员和架构师发现维护成本变高。他们希望使用一些和代码紧耦合的东西,于是就有人提出来一种标记式高耦合的配置方式【注解】。方法上可以进行注解,类上也可以注解,字段属性上也可以注解,反正
- eclipse运行java报错,eclipse用maven运行项目报错java.lang.ArrayIndexOutOfBoundsException: 28054...
陈姜梅子
Maven构建错误XML解析pom.xml
[ERROR]28054java.lang.ArrayIndexOutOfBoundsException:28054atorg.codehaus.plexus.util.xml.pull.MXParser.parsePI(MXParser.java:2502)atorg.codehaus.plexus.util.xml.pull.MXParser.parseEpilog(MXParser.java
- maven根据不同的环境打包不同的配置文件
诺浅
其他maven多环境配置
缘起我们在做项目的时候经常会遇到有多个环境每个环境的配置不一样的问题,比如我们的生产环境的数据库和测试环境的数据库肯定不会一样,我们每次在本机测试的时候可能配置的URL是测试环境的,要打生产war包的时候又需要把配置改成生产的,来回很容易出错,那么有没有什么简单的办法呢?有的,首先需要你的项目中有使用maven.使用maven插件打包不同的配置文件首先我们需要在pom.xml进行如下配置定义不同的
- 微信小程序中实现背景图片完全覆盖显示,可以通过设置CSS样式来实现
徊忆羽菲
微信-小程序微信小程序css小程序
wxml页面代码wxss样式代码/*pages/beiJing/beiJing.wxss*/.beijing{background-image:url("https://www.qipa250.com/qipa.jpg");/*定位:绝对定位*/position:absolute;/*上下左右都定位到0*/top:0;left:0;right:0;bottom:0;/*给它足够低的层次*/z-in
- Ajax:万字总结黑马笔记,学懂Ajax看这一篇就够了
做一只猫
前端ajaxjavascript前端
一、了解AjaxAjax的全称是AsynchronousJavascriptAndXML(异步JavaScript和XML)通俗的理解:在网页中利用XMLHttpRequest对象和服务器进行数据交互的方式,就是Ajax如:用户名检测:注册用户时,通过ajax的形式,动态检测用户名是否被占用搜索提示:当输入搜索关键字时,通过ajax的形式,动态加载搜索提示列表数据分页显示:当点击页码值的时候,通过
- gRPC协议简介
xidianhuihui
golang
gRPC是谷歌开源的一套RPC协议框架。主要做两件事情:一是数据编码,二是请求映射。数据编码数据编码顾名思义就是在将请求的内存对像转化成可以传输的字节流发给服务端,并将收到的字节流再转化成内存对像。方法有很多,常见的有XML、JSON、Protobuf。XML已经日薄西山,JSON风头正盛,Protobuf则方兴未艾。gRPC默认选用Protobuf,早期貌似只支持Protobuf,现在号称也支持
- Hibernate和Spring Data JPA
打伞的木头人
什么是JavaPersistenceAPI?JavaPersistenceAPI提供了一个规范,用于将数据通过Java对象持久化、读取和管理到数据库中的关系表。JPA是JavaPersistenceAPI的简称,中文名Java持久层API,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Sun引入新的JPAORM规范出于两个原因:其一,简化现有JavaE
- Python爬虫技术 第16节 XPath
hummhumm
python爬虫开发语言flaskjavamavenjava-ee
XPath是一种在XML文档中查找信息的语言,尽管XML和HTML在语法上有区别,但XPath同样适用于HTML文档的解析,尤其是在使用如lxml这样的库时。XPath提供了一种强大的方法来定位和提取XML/HTML文档中的元素和属性。XPath基础XPath表达式由路径表达式组成,它们指定了文档中的位置。下面是一些基本的XPath语法:根节点:/表示绝对路径的开始,指向文档的根节点。//表示从当
- Jetty切Tomcat部署应用之根路径/总是跳转index页面
upcdxlq
tomcatjava服务器
问题描述项目之前在Jetty下运行的,http://ip:port/context/原本是进入到Controller的@RequestMappin(“/”)方法的,但部署到Tomcat下,总是跳转到index.jsp问题分析1、访问应用的其他路径都正常,这个请求压根没有得到DispatchServlet处理,默认返回index.jsp,应该是tomcat配置问题2、那是不是应用的web.xml里配
- C# Json字符串生成工具的实现与应用
徐子贡
本文还有配套的精品资源,点击获取简介:JSON是一种轻量级的数据交换格式,被广泛用于Web服务中,用以替代XML,因其简洁易处理特性。本课程主要介绍如何在C#中使用Json.NET库生成JSON字符串,并提供源码分析,帮助开发者理解并根据需求定制自己的Json字符串生成工具。课程将涵盖数据类型、库的使用、源码解析、工具定制、效率提升、扩展性以及如何将工具集成到项目中,从而加深对JSON生成原理的理
- 微信小程序-点餐(美食屋)02开发实践
你我哈
微信小程序微信小程序小程序美食htmlphp
目录概要整体架构流程(一)用户注册与登录(二)菜品浏览与点餐(三)订单管理(四)后台管理部分代码展示1.index.wxml2.list.wxml3.checkout.wxml4.detail.wxml小结优点概要01篇让我们成功搭建开发环境,现在让我们着手开发“美食屋”点餐系统了。下面,我会用PHP和MySQL实现系统核心功能,像用户注册登录、展示和管理菜品,以及处理订单。快一起动手,让“美食屋
- Axios 教程:Promise 基础的 HTTP 客户端
吉皎妃Frasier
Axios教程:Promise基础的HTTP客户端axiosaxios/axios:Axios是一个基于Promise的HTTP客户端库,适用于浏览器和Node.js环境,用于在JavaScript应用中执行异步HTTP请求。相较于原生的XMLHttpRequest或FetchAPI,Axios提供了更简洁的API和更强大的功能。项目地址:https://gitcode.com/gh_mirror
- jira.issueviews
yaoshengting
jirajira
jira.issueviews是JIRA提供的一种功能,用于以多种格式(如Excel、XML、RSS、Word等)导出查询结果或单个Issue的详细信息。这一功能特别适用于JIRAServer和JIRADataCenter环境,方便用户将数据导出并进一步分析或分享。以下是对jira.issueviews的详细介绍:1.功能概述jira.issueviews提供了多种数据导出格式,用户可以通过特定的
- Java配置文件从XML到Annotation完美转变
xiaoyustudiowww
java
首先Java配置XML文件光定义文件DTD(DocumentTypeDefinition)或者XSD(XMLSchemaDefinition)就很麻烦,解析XML虽然很规则但是解析XML的代码复杂,而Annotation很方便。其次XML不是程序代码,而Java中Annotation是程序代码继而非常灵活简洁。
- python爬取自如网房源信息
2401_87368790
python开发语言
本次爬取自如网房源信息所用到的知识点:requestsget请求lxml解析htmlXpathMongoDB存储正文分析目标站点url:http://hz.ziroom.com/z/nl/z3.html?p=2的p参数控制分页get请求获取单页源码--coding:utf-8--importrequestsimporttimefromrequests.exceptionsimportRequest
- MyBatis 框架简介
天之涯上上
mybatistomcatjava
MyBatis框架简介MyBatis是一个优秀的Java持久层框架,它主要用于简化应用程序与数据库之间的交互。通过MyBatis,开发者可以直接编写SQL语句或使用XML映射文件来操作数据库,同时保持代码的灵活性和高效性。MyBatis以其易用性、灵活性和对SQL的强大支持而闻名,尤其适用于复杂查询和高度定制化的数据库操作场景。MyBatis的主要功能和特点1.持久化操作MyBatis通过将Jav
- Maven 在尝试连接到 Maven Central 仓库超时的解决方案和排查步骤
天之涯上上
mavenjava
Maven在尝试连接到MavenCentral仓库时超时。以下是一些可能的解决方案和排查步骤:1.检查网络连接确保你的网络连接正常,并且能够访问外网。Ping测试:pingrepo.maven.apache.orgTelnet测试:telnetrepo.maven.apache.org4432.配置代理如果你在公司网络中使用代理服务器,需要配置Maven使用代理。编辑settings.xml找到或
- JAVA开发中 MyBatis XML 映射文件 的作用
天之涯上上
javamybatisxml
MyBatisXML映射文件(通常是以.xml结尾的文件,例如UserMapper.xml)是MyBatis框架的重要组成部分,主要用于定义SQL语句、结果映射关系以及参数绑定。它的作用是将Java方法与SQL语句关联起来,实现持久化操作(如查询、插入、更新和删除)。以下是关于MyBatisXML映射文件的详细说明:1.XML映射文件的作用1.1定义SQL语句MyBatis的核心功能是操作数据库,
- 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独立出来,数据持