如何从变量中分配Spring Model的列名

时间:2015-01-04 07:18:31

标签: java spring hibernate

我有一个Sring hibernate模型如下

@Entity
@Table(name = "client")
public class Category {

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id")
private long id;

private String type;
...
...
...

我有50个专栏。现在,在将新行插入此表时,如何动态地给出列名

Client client = new Client();
String columnName = "type";

如何使用字符串columnName中提供的列名更新客户端模型?

2 个答案:

答案 0 :(得分:1)

如果要动态设置列的值,可以使用Java反射概念。 看看Java反射概念,以下链接可能会有所帮助

http://tutorials.jenkov.com/java-reflection/fields.html

http://www.avajava.com/tutorials/lessons/how-do-i-get-and-set-a-field-using-reflection.html

答案 1 :(得分:0)

为了更新表,我们需要从Object类中获取该字段并为其设置新值,最后调用save()方法。 但是,如果要动态设置字段值,则需要使用Java反射方法查找Category对象中存在的属性。使用java中 Field 对象提供的方法并使用它们。然后在获取文件后调用相同的set方法并更新该值。 Category.class.getDeclaredFields()