有谁知道播放使用的是哪个Web服务器!框架?
我打算使用Play对小型Intranet应用程序进行原型设计!我想知道我是否应该使用内部使用的默认播放Web服务器或Apache或IIS.
我不预测应用程序运行的几个实例,也不需要负载平衡.
我想为我的应用程序的登录页面强制执行https路由.
Play可以这样做吗!没有使用前端http服务器?
@Entity
public class Report extends Model {
public Date date;
public double availability;
@ElementCollection
@Cascade(value={CascadeType.ALL})
public Map<FaultCategory, Integer> categories;
}
Run Code Online (Sandbox Code Playgroud)
在我的一个工作中,我有以下代码:
int n = MonthlyReport.delete("date = ?", date);
Run Code Online (Sandbox Code Playgroud)
这总是无法删除具有以下错误的实体:
DELETE语句与REFERENCE约束"FK966F0D9A66DB1E54"冲突.冲突发生在数据库"TFADB",表"dbo.MonthlyReport_categories",列"MonthlyReport_id"中.
如何指定映射,以便在删除报表时删除categories集合中的元素?
我有一个带有图例的jqplot饼图,我希望当鼠标悬停在馅饼上时,传奇文本会显示为工具提示.我不知道该怎么做.有没有人有类似的经历?
示例代码:
$(document).ready(function(){
var data = [['Heavy Industry', 12],['Retail', 9], ['Light Industry', 14],['Out of home', 16],['Commuting', 7], ['Orientation', 9]];
var plot1 = jQuery.jqplot ('chart1', [data],
{
seriesDefaults: {
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
showDataLabels: true
}
},
legend: { show:true, location: 'e' }
}
);
});
Run Code Online (Sandbox Code Playgroud) 我试图解决是否有可能让JPA持久化具体实现的抽象集合.
到目前为止我的代码看起来像这样:
@Entity
public class Report extends Model {
@OneToMany(mappedBy = "report",fetch=FetchType.EAGER)
public Set<Item> items;
}
@MappedSuperclass
public abstract class OpsItem extends Model {
@ManyToOne
public RetailOpsBranch report;
}
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class AItem extends OpsItem {
...
}
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class BItem extends OpsItem {
...
}
Run Code Online (Sandbox Code Playgroud)
但我一直在绊倒下面的映射错误,我真的不知道这是否可行?
JPA error
A JPA error occurred (Unable to build EntityManagerFactory): Use of @OneToMany or
@ManyToMany targeting an unmapped class: models.Report.items[models.OpsItem]
Run Code Online (Sandbox Code Playgroud)
UPDATE
我认为问题不在于抽象类,而在于@MappedSuperClass注释.看起来jpa不喜欢用@MappedSuperClass映射一对多的关系.如果我将抽象类更改为具体类,则会出现相同的错误. …
我试图找出正确的算法来计算一组日期范围时遇到问题.
基本上我有一个无序日期范围列表(列表包含开始和结束时间的数组),我想合并这个列表,因此它不包含重叠时间.
主要是为了巩固两个日期范围:
if start1 <= end2 and start2 <= end1 //Indicates overlap
if start2 < start1 //put the smallest time in start1
start1 = start2
endif
if end2 > end1 //put the highest time in end1
end1 = end2
endif
endif
Run Code Online (Sandbox Code Playgroud)
这加入了两个日期时间.
在迭代所有值时,我遇到了绊脚石,因此结束列表只包含不重叠的值.
我的功能和递归编程有点生疏,欢迎任何帮助.
language-agnostic algorithm recursion functional-programming
如何在JPA中映射双打数组.我有以下代码失败,因为hibernate无法初始化数组.
@Entity
public class YearlyTarget extends GenericModel {
@Id
public Integer year;
@ElementCollection
public Double[] values;
public YearlyTarget(int year) {
this.year = year;
this.values = new Double[12];
}
}
Run Code Online (Sandbox Code Playgroud) 我需要解析一个非常大的文件并将生成的实体存储在数据库中.我期待每个文件多达150k的记录,并且可以分批处理这些记录.
有没有办法用JPA批量插入Play实体?
是否可以从自定义JPA查询返回映射而不是List?
我知道实体本身是否有可能.在我的情况下,我有一个自定义查询,它返回一系列日期的不同表中的一些统计信息.
理想情况下,我希望返回的地图将日期作为键,将stat作为值.
我正在尝试编码和解码UTF8字符串到base64.理论上不是问题,但解码时似乎永远不会输出正确的字符而是?
String original = "?????????";
B64encoder benco = new B64encoder();
String enc = benco.encode(original);
try
{
String dec = new String(benco.decode(enc.toCharArray()), "UTF-8");
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println("Original: " + original);
prtHx("ara", original.getBytes());
out.println("Encoded: " + enc);
prtHx("enc", enc.getBytes());
out.println("Decoded: " + dec);
prtHx("dec", dec.getBytes());
} catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
控制台的输出如下:
原文:خهعسيبنتا
ara = 3F,3F,3F,3F,3F,3F,3F,3F,3F
编码:Pz8/Pz8/Pz8/
enc = 50,7A,38,2F,50,7A,38,2F ,50, 7A,38,2F
解码:?????????
dec = 3F,3F,3F,3F,3F,3F,3F,3F,3F
prtHx只是将字节的十六进制值写入输出.我在做一些明显不对的事吗?
Andreas通过强调getBytes()方法使用平台默认编码(Cp1252)来指出正确的解决方案,即使源文件本身是UTF-8.通过使用getBytes("UTF-8"),我能够注意到编码和解码的字节实际上是不同的.进一步调查表明,编码方法使用了getBytes().改变这个很好地解决了这个问题.
try
{
String enc = benco.encode(original);
String dec = …
Run Code Online (Sandbox Code Playgroud) 我试图用播放框架执行一些自定义验证,但我似乎无法从模板中获取错误.
控制器代码是:
User user = User.findByEmail(email);
if(user != null) {
Logger.warn("User account already created for email %s", email);
validation.addError("email", "This email address already in use.");
params.flash();
flash.error("Please correct the error below!");
signup();
}
和signup.html模板:
#{error 'email' /}
我可以看到控制器看到重复的电子邮件但错误消息没有出现在模板中.
上面的代码是否正确?
我正在尝试在我的应用程序中安装BetterLogs和log4Play模块.Log4Play似乎在chrome中工作,但我似乎无法使用更好的日志来增强日志.我安装/配置了以下模块:
play install betterlogs play install log4play
将此添加到dependencies.yml
require: - play -> log4play 0.5 - play -> betterlogs 1.0
这到我的application.conf
module.log4play=${play.path}/modules/log4play-0.5 module.betterlogs=${play.path}/modules/betterlogs-1.0 betterlogs.prefix=[%relativeFile:%line] %method() ::
我在依赖声明中做错了吗?
更新:通过执行以下操作修复:
require:
- play -> log4play 0.5
- play -> betterlogs 1.0
- provided -> mylib 1.0
repositories:
- provided:
type: local
artifact: "${application.path}/jar/[module]-[revision].jar"
contains:
- provided -> *
Run Code Online (Sandbox Code Playgroud)
我有一个具有默认值的实体和一个计算字段如下:
public class Target{
@Transient
public Long total;
@Min(0)
@Column(columnDefinition="default 0")
public Long val1 = 0L;
@Min(0)
@Column(columnDefinition="default 0")
public Long val2 = 0L;
public Target() {
this.total = Long.valueOf(0L);
this.val1 = Long.valueOf(0L);
this.val2 = Long.valueOf(0L);
}
public Long calcTotal() {
return val1 + val2 ;
}
public void setVal1(Long val) {
this.val1 = checkNotNull(val);
total = calcTotal();
}
public void setVal2(Long val) {
this.val2 = checkNotNull(val);
total = calcTotal();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,每当JPA加载实体时,都会调用setter并在calc中抛出NullPointerException.无论如何在JPA调用setter之前默认值?