9 java
我收到以下警告:
warning:[unchecked] unchecked conversion
[javac]found:java.util.List
[javac] required:java.util.List<edu.fullerton.cs476s09.espressobar.jpa.espressobar_milk>
return query.getResultList();
Run Code Online (Sandbox Code Playgroud)
可能是什么问题和可能的解决方案.我使用以下代码:
@Stateless
@Remote(Order.class)
//@EntityListeners(MyListener.class)
public class OrderBean implements Order
{
/**
* The entity manager object, injected by the container
*/
@PersistenceContext
private EntityManager manager;
public List<espressobar_milk> listMilk()
{
Query query = manager.createQuery("SELECT m FROM espressobar_milk m");
return query.getResultList();
}...
.....
..}
Run Code Online (Sandbox Code Playgroud)
提前感谢任何建议.
Jon*_*eet 11
好吧,我们没有Query这里的详细信息,但可能它的getResultList方法返回原始List.基本上编译器不能确定返回的列表getResultList只包含实例espressobar_milk(它稍微比它更微妙,但我们暂时将它保留在那里).
您可以尝试强制键入,可能是通过更改Query类,或者您可以使用注释方法
@SuppressWarnings("unchecked")
Run Code Online (Sandbox Code Playgroud)
如果你确信这是正确的,但没有办法实现编译时的安全性.
小智 10
我使用EJB 3.1,我遇到了同样的问题.我找到了另一个解决方
TypedQuery<espressobar_milk> query = manager.createQuery("SELECT m FROM espressobar_milk m", espressobar_milk.class);
return query.getResultList();
Run Code Online (Sandbox Code Playgroud)
这解决了未经检查的对话警告(您不再需要@SuppressWarnings注释).