Java对象到域类对象的转换
我试图在运行时使用类名作为字符串创建实体对象。我尝试使用java反射查找并创建实例。但是,我无法将对象映射到相应的实体类类型 我的代码:Java对象到域类对象的转换,java,spring-boot,hibernate,spring-data-jpa,java-reflection,Java,Spring Boot,Hibernate,Spring Data Jpa,Java Reflection,我试图在运行时使用类名作为字符串创建实体对象。我尝试使用java反射查找并创建实例。但是,我无法将对象映射到相应的实体类类型 我的代码: public String update(String entityClassName) { Class<?> cls = Class.forName(entityName); Object obj = cls.newInstance(); } Class<?> cls = Class
public String update(String entityClassName) {
Class<?> cls = Class.forName(entityName);
Object obj = cls.newInstance();
}
Class<?> cls = Class.forName(entityName);
<GivenEntityType> obj = cls.newInstance();
公共字符串更新(字符串entityClassName){
Class cls=Class.forName(entityName);
Object obj=cls.newInstance();
}
现在,我想将对象obj更改为动态的相应实体类型。因此,我可以访问对象中的公共字段
期望值:
public String update(String entityClassName) {
Class<?> cls = Class.forName(entityName);
Object obj = cls.newInstance();
}
Class<?> cls = Class.forName(entityName);
<GivenEntityType> obj = cls.newInstance();
Class cls=Class.forName(entityName);
obj=cls.newInstance();
你能告诉我吗?可能吗?哪个公共字段?你怎么知道什么是
ClassType
?通过显示的代码,您可以确定它是一个对象
。我在这里提到的类类型是我的实体类名@是的,但是如果可能的话,你会如何处理obj呢?事实上,我正在编写一个通用的restapi来进行更新。如果可能,则将使用entityManager.getTransaction().commit()更新obj。因此,这些更改将动态地影响受尊重的实体。这是不可能的。不过,您可以传入类。然后您将拥有tobj=cls.newInstance()代码>。但是,如果您没有t
的上限,它将擦除到Object
,因此这可能对您没有多大帮助。