Hibernate中的小写注释

Eug*_*kov 4 java hibernate jpa

在hibernate中是否有任何方法可以将实体的列注释为字符串小写?我的意思是例如

@Entity  
public class User {  
    @Column  
    private String username;  
}
Run Code Online (Sandbox Code Playgroud)

我希望hibernate在没有绑定到特定数据库的所有查询中将用户名转换为小写.

Rom*_*lin 5

例如,您可以在setter中创建它:

public void setUsername(String username) {
    this.username = username.toLowerCase();
}
Run Code Online (Sandbox Code Playgroud)

或者使用interseptor:

    public boolean onSave(Object entity,Serializable id, Object[] state,String[] propertyNames,Type[] types) throws CallbackException {
    if (entity instanceof User ){
        entity.username = usename.toLowerCase();
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多关于拦截器的信息:http: //www.mkyong.com/hibernate/hibernate-interceptor-example-audit-log/