小编Acd*_*oll的帖子

如何测试是否未抛出特定异常?

我可以测试是否没有抛出特定的异常吗?

反过来很容易使用@Test[expect=MyException].

但我怎么能否定这个呢?

junit

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

error引用的类型不是注释类型:

我有以下看点

@Around("execution(public * (@DisabledForBlockedAccounts *).*(..))" + " && @annotation(denyForTeam)")
public Object translateExceptionsDenySelectedAccount(ProceedingJoinPoint pjp, Deny deny) throws Throwable
{
    Account account = (Account) pjp.getArgs()[0];
    Account selectedAccount = (Account) pjp.getArgs()[1];

    if (ArrayUtils.contains(deny.value(), account.getRole()))
    {

        if (account.getType().equals(Type.CHEF) && !selectedAccount.getType().equals(Type.CHEF))
        {
            throw new IllegalAccessException("");
        }
    }
    return pjp.proceed();
}
Run Code Online (Sandbox Code Playgroud)

和这个注释:

@Target({TYPE, METHOD, FIELD})
@Retention(RUNTIME)
public @interface DenyForTeam
{

Role[] value();

}
Run Code Online (Sandbox Code Playgroud)

我得到错误:错误引用的类型不是注释类型:denyForTeam

为什么DenyForTeam没有注释?它标有@interface

aop spring spring-aop

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

在更新CURRENT_TIMESTAMP上使用"default CURRENT_TIMESTAMP"时,Hibernate创建没有名称的列

我有以下实体:

@Entity
public class Person {

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(columnDefinition="int(11)",nullable=false)
private int id;

@Column(columnDefinition="varchar(255)",nullable=false)
private String name;

@Column(columnDefinition="varchar(255)",nullable=false)
private String vorname;

@Column(columnDefinition="varchar(255)",nullable=false)
private String password;

@Column(columnDefinition="varchar(100)",nullable=false)
private String user;

@Column(columnDefinition="varchar(20)",nullable=false)
private String klasse;

@Temporal(TemporalType.TIMESTAMP)
@Column(name="timestamp",nullable = false,columnDefinition="default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP")
private Date timestamp = new Date();


public Person(){

}
@PreUpdate
public void updatePerson(){
    this.timestamp = new Date();
}


...getters
    ...setters
Run Code Online (Sandbox Code Playgroud)

}

当调用hibenate时,我在hibernate想要创建表时遇到错误.似乎错误发生了,因为列时间戳没有名称:

错误:HHH000389:不成功:创建表Person(id int(11)not null auto_increment,klasse varchar(20)not null,name varchar(255)not null,password varchar(255)not null,timestamp default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP not null,user varchar(100)not …

hibernate

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

标签 统计

aop ×1

hibernate ×1

junit ×1

spring ×1

spring-aop ×1