小编emt*_*t14的帖子

什么是Play框架Web服务器

有谁知道播放使用的是哪个Web服务器!框架?

我打算使用Play对小型Intranet应用程序进行原型设计!我想知道我是否应该使用内部使用的默认播放Web服务器或Apache或IIS.

我不预测应用程序运行的几个实例,也不需要负载平衡.

playframework

35
推荐指数
1
解决办法
2万
查看次数

使用play框架强制登录Https路由以进行登录

我想为我的应用程序的登录页面强制执行https路由.

Play可以这样做吗!没有使用前端http服务器?

security https routing login playframework

21
推荐指数
2
解决办法
7323
查看次数

如何级联删除作为jpa实体一部分的集合?

@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集合中的元素?

java collections hibernate jpa playframework

16
推荐指数
3
解决办法
2万
查看次数

如何在jqplot饼图上显示工具提示

我有一个带有图例的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)

javascript jquery charts tooltip jqplot

12
推荐指数
3
解决办法
2万
查看次数

如何用jpa映射抽象集合?

我试图解决是否有可能让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映射一对多的关系.如果我将抽象类更改为具体类,则会出现相同的错误. …

java inheritance hibernate jpa playframework

9
推荐指数
1
解决办法
1万
查看次数

计算重叠日期范围的问题

我试图找出正确的算法来计算一组日期范围时遇到问题.

基本上我有一个无序日期范围列表(列表包含开始和结束时间的数组),我想合并这个列表,因此它不包含重叠时间.

主要是为了巩固两个日期范围:

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

7
推荐指数
1
解决办法
2883
查看次数

JPA数组映射

如何在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)

java hibernate jpa playframework

7
推荐指数
2
解决办法
2万
查看次数

如何使用Playframewok JPA执行批量插入?

我需要解析一个非常大的文件并将生成的实体存储在数据库中.我期待每个文件多达150k的记录,并且可以分批处理这些记录.

有没有办法用JPA批量插入Play实体?

java hibernate jpa playframework

5
推荐指数
1
解决办法
3620
查看次数

Hibernate Custom查询可以返回Map而不是List吗?

是否可以从自定义JPA查询返回映射而不是List?

我知道实体本身是否有可能.在我的情况下,我有一个自定义查询,它返回一系列日期的不同表中的一些统计信息.

理想情况下,我希望返回的地图将日期作为键,将stat作为值.

java sql hibernate jpa

5
推荐指数
1
解决办法
4518
查看次数

使用java的Unicode base 64编码

我正在尝试编码和解码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)

java unicode base64 utf-8

4
推荐指数
1
解决办法
3064
查看次数

为什么Playframework自定义验证消息不会显示在模板中

我试图用播放框架执行一些自定义验证,但我似乎无法从模板中获取错误.

控制器代码是:


        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' /}

我可以看到控制器看到重复的电子邮件但错误消息没有出现在模板中.

上面的代码是否正确?

java validation groovy playframework

3
推荐指数
1
解决办法
2331
查看次数

如何使用Play Framework安装多个模块和设置依赖项

我正在尝试在我的应用程序中安装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() ::

我在依赖声明中做错了吗?


更新:通过执行以下操作修复:

  • 从application.conf中删除了模块条目
  • 使用以下dependecies.yml运行播放依赖项
    
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)
  • 玩干净
  • 玩eclipsify -deps

dependencies install log4j module playframework

2
推荐指数
1
解决办法
2269
查看次数

JPA实体默认值

我有一个具有默认值的实体和一个计算字段如下:

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之前默认值?

java hibernate jpa playframework

1
推荐指数
1
解决办法
1万
查看次数