gpt4 book ai didi

java - 方法泛型返回java类

转载 作者:行者123 更新时间:2023-12-01 19:52:29 26 4
gpt4 key购买 nike

我正在使用 Hibernate 构建查询数据库的通用方法,以下方法通过主键查询实体的信息。

@PersistenceContext(unitName = "UnitPers")
private EntityManager entity;

public Object findByPk(Class clazz, Object pk) throws Exception {
Object obj = null;
try {
obj = entity().find(clazz, pk);
} catch (Exception e) {
throw e;
}
return obj;
}

此方法工作正常,但我不想在调用时进行强制转换(myTypeEntity 的对象)。

private myTypeEntity entity;    
entity = (myTypeEntity) findByPk(myTypeEntity.class, new Bigdecimal("1"));

//GET and SET Methods

我想避免在调用此方法时进行强制转换,记住这是泛型的目的之一,但我还没有成功做到这一点,有什么想法吗?或者我想做的事情是不可能的。

最佳答案

您可以使用泛型而不是使用对象:

public <T> T findByPk(Class<T> clazz, Object pk) throws Exception {
T obj = null;
try {
obj = entity().find(clazz, pk);
} catch (Exception e) {
throw e;
}
return obj;
}

然后它应该可以在不进行转换的情况下工作

private myTypeEntity entity;    
entity = findByPk(myTypeEntity.class, new Bigdecimal("1"));

关于java - 方法泛型返回java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50847419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com