小编Rob*_*e W的帖子

的VerifyError; 期望方法控制器中的堆栈映射框.安全$ Security.authentify

我按照教程介绍Play框架,但它给了我一个错误:

执行异常VerifyError发生:期望方法控制器中的堆栈映射帧.安全$ Security.authentify(Ljava/lang/String; Ljava/lang/String;)Z偏移量为33

我不确定我做错了什么.我正在使用的代码(片段):

package controllers;

..

@With(Secure.class)
public class Application extends Controller 
{
    @Before
    public static void setConnectedUser() 
    {
        if (Security.isConnected()) 
        {
            User user = User.find("byEmail", Security.connected()).first();
            user.password = null;
            renderArgs.put("user", user);
        }
    }

    ...
Run Code Online (Sandbox Code Playgroud)

对于Security类:

package controllers;

import models.*;

public class Security extends Secure.Security {    
    static boolean authenticate(String username, String password) {
        return User.connect(username, password) != null;
    }
}
Run Code Online (Sandbox Code Playgroud)

我还将安全模块添加到dependencies.yml,它在重新启动Play框架后正确加载.我将安全模型添加到了我的路线中.Eclipse没有错误; 错误仅在执行时发生.Secure.Security类确实具有可用的公共静态isConnected方法.我正在使用最新版本的Play框架(1.2.2).

playframework

18
推荐指数
3
解决办法
8758
查看次数

如何将Enum绑定到路由静态参数

如何将模型中的枚举绑定到路径定义中的静态参数?

示例(组成):

模型:

class User (..)
{
    public static enum TYPES { Default, Admin, Editor, Visitor }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

class Users (..)
{
    public static void create(long parentUserId, User.TYPES type)
    {
       (..)
    }
}
Run Code Online (Sandbox Code Playgroud)

路线:

GET     /user/{parentUserId}/create/editor  Users.create(type:User.TYPES.Editor)
Run Code Online (Sandbox Code Playgroud)

查看模板:

<a href="@{Users.create(user.id, 'Editor')}">create editor</a>
Run Code Online (Sandbox Code Playgroud)

要么

<a href="@{Users.create(user.id, User.TYPES.Editor)}">create editor</a>
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.我该如何设置?

java playframework

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

JPA使用@JOINTABLE和@JOINCOLUMNs

我正在使用JPA从现有的ERP系统中提取数据.我正在为某些数据使用(现有)连接表.问题是我还应该匹配不在连接表上的列,而是匹配源表本身.

T1 (source)
- F1*
- F2
- F3
- ..

T2 (join)
- F4
- F5

T3 (source)
- F6*
- F7
- F8
- ..
Run Code Online (Sandbox Code Playgroud)

我当前的连接表条件是这样的:

@ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.ALL)
@JoinTable(name="T2", schema=Util.schema, joinColumns = {   
        @JoinColumn(name="F4", referencedColumnName="F2", unique=false),
        @JoinColumn(name="F5", referencedColumnName="F3", unique=false)
    },
    inverseJoinColumns = {
        @JoinColumn(name="F4", referencedColumnName="F7", unique=false),
        @JoinColumn(name="F5", referencedColumnName="F8", unique=false)
    }
}
Run Code Online (Sandbox Code Playgroud)

这有效,但我如何/在哪里添加条件T1.F1 = T3.F6?

java jpa join jointable

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

标签 统计

java ×2

playframework ×2

join ×1

jointable ×1

jpa ×1