Java 使用Hibernate将值设置为大写

Java 使用Hibernate将值设置为大写,java,javascript,html,database,Java,Javascript,Html,Database,我需要将保存到DB的值设置为大写。 我的环境是Java,我使用jsp/HMTL/js作为前端表单 我曾有过修改模型的getter/setter的建议,但我认为这可能是危险的,因为该模型可能被用于多种场合,并非所有场合都需要严格的大写值 之前,我尝试在web表单上使用 style="text-transform:uppercase" 但是,当值保存到db时,它保留小写值 有人对此有什么注释或想法吗 谢谢, 迪尔格 更新: @Vimal Bera我试过这个: $('#xyz').on('input

我需要将保存到DB的值设置为大写。 我的环境是Java,我使用jsp/HMTL/js作为前端表单

我曾有过修改模型的getter/setter的建议,但我认为这可能是危险的,因为该模型可能被用于多种场合,并非所有场合都需要严格的大写值

之前,我尝试在web表单上使用

style="text-transform:uppercase"
但是,当值保存到db时,它保留小写值

有人对此有什么注释或想法吗

谢谢, 迪尔格

更新:

@Vimal Bera我试过这个:

$('#xyz').on('input', function() {
    $('#xyz').val().toUpperCase();
});

但是我承认我的js体验不是很好,不用说这不起作用。

文本转换:CSS中的大写
将显示为大写的客户端文本。从javascript的角度来看,文本仍然是小写的。我做了一个测试,可以在这个

从输入中获取值的方式如下

var textinput = document.getElementById("yourinput").value;
在提交到db之前,您应该确保在
textinput
上执行以下操作:

var textinput = document.getElementById("yourinput").value.toUpperCase();

编辑 不要在('input')上使用
。而是将javascript与
绑定,如下所示:

<form action="" onsubmit="DoSomethingToInput();">

function DoSomethingToInput() {
    document.getElementById('ppsn').value.toUpperCase();
    return true // this allows the form to submit
}

函数DoSomethingToInput(){
document.getElementById('ppsn').value.toUpperCase();
return true//这允许表单提交
}

文本转换:CSS中的大写
将显示为大写的客户端文本。从javascript的角度来看,文本仍然是小写的。我做了一个测试,可以在这个

从输入中获取值的方式如下

var textinput = document.getElementById("yourinput").value;
在提交到db之前,您应该确保在
textinput
上执行以下操作:

var textinput = document.getElementById("yourinput").value.toUpperCase();

编辑 不要在('input')
上使用
。而是将javascript与
绑定,如下所示:

<form action="" onsubmit="DoSomethingToInput();">

function DoSomethingToInput() {
    document.getElementById('ppsn').value.toUpperCase();
    return true // this allows the form to submit
}

函数DoSomethingToInput(){
document.getElementById('ppsn').value.toUpperCase();
return true//这允许表单提交
}

文本转换:CSS中的大写
将显示为大写的客户端文本。从javascript的角度来看,文本仍然是小写的。我做了一个测试,可以在这个

从输入中获取值的方式如下

var textinput = document.getElementById("yourinput").value;
在提交到db之前,您应该确保在
textinput
上执行以下操作:

var textinput = document.getElementById("yourinput").value.toUpperCase();

编辑 不要在('input')
上使用
。而是将javascript与
绑定,如下所示:

<form action="" onsubmit="DoSomethingToInput();">

function DoSomethingToInput() {
    document.getElementById('ppsn').value.toUpperCase();
    return true // this allows the form to submit
}

函数DoSomethingToInput(){
document.getElementById('ppsn').value.toUpperCase();
return true//这允许表单提交
}

文本转换:CSS中的大写
将显示为大写的客户端文本。从javascript的角度来看,文本仍然是小写的。我做了一个测试,可以在这个

从输入中获取值的方式如下

var textinput = document.getElementById("yourinput").value;
在提交到db之前,您应该确保在
textinput
上执行以下操作:

var textinput = document.getElementById("yourinput").value.toUpperCase();

编辑 不要在('input')
上使用
。而是将javascript与
绑定,如下所示:

<form action="" onsubmit="DoSomethingToInput();">

function DoSomethingToInput() {
    document.getElementById('ppsn').value.toUpperCase();
    return true // this allows the form to submit
}

函数DoSomethingToInput(){
document.getElementById('ppsn').value.toUpperCase();
return true//这允许表单提交
}

将值存储在DB中时,使用UPPER()转换大小写。

将值存储在DB中时,使用UPPER()转换大小写。

将值存储在DB中时,使用UPPER()转换大小写。

将值存储在DB中时,使用UPPER()转换大小写。

在Java中,在类中提供一个额外的getter/setter,使用注释映射它,例如
@Column(name=“DB_Column”)
,在getter中执行类似于
getProperty().toUpperCase()的操作
然后将另一个属性(您不想更改,以免弄乱模型)标记为
@Transient
,这样Hibernate就不会试图持久化它。例如,假设catName是要存储在数据库中的属性:

@Transient
public String getCatName(){
    return catName;
}

@Column(name="CatName")
public String getUpperCaseCatName(){
    return getCatName().toUpperCase();
}

要求客户端处理案例的解决方案是错误的选择。您不希望在客户端修改状态,然后在服务器端依赖它。始终在服务器端验证用户输入。

在Java中,在类中提供一个额外的getter/setter,用注释将其映射,例如
@Column(name=“DB_Column”)
,在getter中执行类似
getProperty().toUpperCase()的操作
然后将另一个属性(您不想更改,以免弄乱模型)标记为
@Transient
,这样Hibernate就不会试图持久化它。例如,假设catName是要存储在数据库中的属性:

@Transient
public String getCatName(){
    return catName;
}

@Column(name="CatName")
public String getUpperCaseCatName(){
    return getCatName().toUpperCase();
}

要求客户端处理案例的解决方案是错误的选择。您不希望在客户端修改状态,然后在服务器端依赖它。始终在服务器端验证用户输入。

在Java中,在类中提供一个额外的getter/setter,用注释将其映射,例如
@Column(name=“DB_Column”)
,在getter中执行类似
getProperty().toUpperCase()的操作
然后将另一个属性(您不想更改,以免弄乱模型)标记为
@Transient
,这样Hibernate就不会试图持久化它。例如,假设catName是要存储在数据库中的属性:

@Transient
public String getCatName(){
    return catName;
}

@Column(name="CatName")
public String getUpperCaseCatName(){
    return getCatName().toUpperCase();
}

要求客户端处理案例的解决方案是错误的选择。您不希望在客户端修改状态,然后在服务器端依赖它。始终在服务器端验证用户输入。

在Java中,在类中提供一个额外的getter/setter,用注释将其映射,例如
@Column(name=“DB_Column”)
,在getter中执行类似
getProperty().toUpperCase()的操作然后标记其他属性(您不需要)