环境 :
Spring 4 REST
Spring MVC
过冬
问题 :
我们正在开发一个低于堆栈的应用程序.
Spring REST Web服务将为客户端公开API,它将在UI(ASP .NET)上显示它.响应以JSON格式发送.
考虑以下情况:
客户端调用REST api以获取具有ID的用户.dao层提取用户实体并将被提交给客户端.
以下场景的问题/观察:
由于用户可以使用与Hibernate映射相关的其他实体(例如userRoles使用oneToMany),因此还需要获取这些实体,否则抛出LazyInitialization异常,因为UI尝试通过User对象访问这些集合.
并非响应中需要User对象中的所有属性(例如:某些请求不需要用户拥有的角色).
考虑到上面的图片,通过Spring REST向客户端发送User对象(或响应)的最佳设计方法是什么?
创建一个模拟实体对象的中间对象层(如DTO).根据要求在服务层中填充此DTO.由于服务层在交易中运行,因此将解决第1号问题.但这需要在实体和DTO之间进行额外的复制
在Hibernate实体/查询级别处理问题编号1/2(连接获取查询或修改映射)并通过注释排除响应中不需要的属性,如:@JsonIgnore.但是这种方法不灵活,需要非常仔细地设计实体类
任何人都可以对此发表评论吗?还有更好的选择吗?


从编码的4B/5B编码方案数据0000到11110码字,类似地,0001被编码为01001等.
这里,两个码字之间的XOR运算结果将是另一个有效的码字.
例如,11110和01001的XOR是另一个码字10111,其数据字是1011.这里我没有问题.
同样,为了避免直流分量,使用NRZ-I线路编码方案.结果,输出码字中没有三个连续的零.代码字中没有一个标题和两个尾随零.我们不担心NRZ-I编码方案中的一个数量.
但是,如何编码0000到11110或0001到01001以及我应该为这种编码方案应用哪种算法.
我也搜索谷歌和学习书籍.但到处都是他们只讲同一件事,但我没有得到答案.
提前致谢
我试图在闪亮的情况下使用rgl情节,但不知何故它抛出错误:
'您必须启用Javascript才能正确查看此页面'.
Javascript已启用.我在R中使用' shinyRGL '库来显示其输出,但是失败了.
请帮忙!
目前我正在尝试为我的Android设备创建一个小套接字应用程序.
我想通过套接字连接将大文件(~500MB)发送到我的笔记本电脑/ PC或其他任何东西.我在我的Android设备上使用套接字客户端连接到我的PC上的套接字服务器但是,当我尝试发送测试字段(~460MB)时,我的应用程序崩溃了,它说:
"抛出OutOfMemoryError"无法分配441616290字节分配4194304空闲字节和90MB直到OOM""
我想我的客户端无法处理这个文件大小.所以我的问题是:有没有办法用TCP套接字连接处理这些大文件?我的代码可以很好地处理小文件(例如5MB),但是文件更大会失败.
这是我到目前为止:
客户端在我的Android设备上运行:
private class Connecting extends AsyncTask<String, Integer, String>
{
@Override
protected String doInBackground(String... serverAdd)
{
String filePath = "Path to file";
File sdFile = new File(filePath);
try {
client = new Socket("ip", "port");
outputStream = client.getOutputStream();
byte[] buffer = new byte[1024];
FileInputStream in = new FileInputStream(sdFile);
int rBytes;
while((rBytes = in.read(buffer, 0, 1024)) != -1)
{
outputStream.write(buffer, 0, rBytes);
}
outputStream.flush();
outputStream.close();
client.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) { …Run Code Online (Sandbox Code Playgroud) 我有一个CombinedChart,我希望LineChart将左轴作为参考,BarChart并将右轴作为参考,但我无法得到它.
我正在尝试以下代码:
barDataSet.setAxisDependency(YAxis.AxisDependency.RIGHT);
lineDataSet.setAxisDependency(YAxis.AxisDependency.LEFT);
Run Code Online (Sandbox Code Playgroud)
但现在两个图表(LineChart和BarChart)都在左边(混合它们,右轴已经消失).
左右轴具有不同的粒度.
如何才能正确地将每个图表作为一个不同的Y轴(分别为左或右)作为参考?
提前致谢!
我有一些问题Criteria.我有一个Job包含一组的类Skills.
当我想要过滤包含2种技能的作业时,问题就出现了,例如,包含id为1和3的技能的所有作业.
现在我有这个:
for (Skill skill : job.getSkills()) {
ids.add(skill.getId());
}
criteria.createAlias("skills", "skill");
criteria.add(Restrictions.in("skill.id", ids));
Run Code Online (Sandbox Code Playgroud)
但它给了我包含1或3技能的工作,而不仅仅是那些兼具技能的人.我怎样才能做到这一点?
更新:
criteria.createAlias("Job.skills", "skill");
Conjunction and = Restrictions.conjunction();
for (Skill skill : job.getSkills()) {
and.add(Restrictions.eq("skill.id", skill.getId()));
}
criteria.add(and);
Run Code Online (Sandbox Code Playgroud)
我试过这个,但是sql and (skill1_.ID=? and skill1_.ID=?)没有结果
我正在尝试访问 Angular2 中的 div,如下所示:
import { Component, ViewChild, ElementRef, AfterContentInit } from '@angular/core';
@Component({
selector: 'main',
template: `
<div #target class="parent">
<div class="child">
</div>
</div>
`
})
export class MainComponent implements AfterContentInit {
@ViewChild('target') elementRef: ElementRef;
ngAfterContentInit(): void {
var child = this.elementRef.nativeElement.querySelector('div');
console.log(child);
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到以下异常:
异常:调用节点模块失败并出现错误:TypeError:this.elementRef.nativeElement.querySelector 不是函数
错误:无法打开zip文件.
Gradle的依赖性缓存可能已损坏(这有时会在网络连接超时后发生.)
<a href="syncProject">Re-download dependencies and sync project (requires network)</a>
<a href="syncProject">Re-download dependencies and sync project (requires network)</a>
Run Code Online (Sandbox Code Playgroud)
这发生在昨天.我无法运行任何旧项目,虽然我有良好的互联网连接,但我无法下载此依赖项.
我正在尝试使用 Scala解决 Codility 的GenomicRangeQuery,为此我编写了以下函数:
def solution(s: String, p: Array[Int], q: Array[Int]): Array[Int] = {
for (i <- p.indices) yield {
val gen = s.substring(p(i), q(i) + 1)
if (gen.contains('A')) 1
else if (gen.contains('C')) 2
else if (gen.contains('G')) 3
else if (gen.contains('T')) 4
}
}
Run Code Online (Sandbox Code Playgroud)
我没有做过很多测试,但它似乎解决了问题。
我的问题是 for comprehension 返回 an scala.collection.immutable.IndexedSeq[AnyVal],而函数必须返回 an Array[Int],因此它抛出 a type mismatch error。
有什么方法可以让 for comprehension 返回一个 Array[Int] 或将 theIndexedSeq[AnyVal]转换为一个Array[Int]?
最近我有一个场景将数据存储在keyValue对中并遇到了一个函数reduceByKey(_ ++ _).这更像是速记语法.我无法理解这实际意味着什么.
例如:reduceBykey(_ + _) 意思是reduceByKey((a,b)=>(a+b))
所以reduceByKey(_ ++ _)意味着??
我能够使用数据创建Key value对reduceByKey(_ ++ _).
val y = sc.textFile("file:///root/My_Spark_learning/reduced.txt")
y.map(value=>value.split(","))
.map(value=>(value(0),value(1),value(2)))
.collect
.foreach(println)
(1,2,3)
(1,3,4)
(4,5,6)
(7,8,9)
y.map(value=>value.split(","))
.map(value=>(value(0),Seq(value(1),value(2))))
.reduceByKey(_ ++ _)
.collect
.foreach(println)
(1,List(2, 3, 3, 4))
(4,List(5, 6))
(7,List(8, 9))
Run Code Online (Sandbox Code Playgroud) android ×3
java ×2
scala ×2
spring ×2
angular ×1
apache-spark ×1
arrays ×1
criteria-api ×1
encoding ×1
hibernate ×1
networking ×1
r ×1
rest ×1
rgl ×1
shiny ×1
sockets ×1
spring-mvc ×1
tcp ×1
viewchild ×1