从MySQL DB中检索记录返回Null <beginner question =“”> </beginner>

时间:2011-07-28 19:34:08

标签: java mysql persistence nullpointerexception entitymanager

问题1。

我正在使用Netbeans 6.9.1 glassfish 3.1。我试图从MySQL数据库中检索一些值并将其保存在列表中。我的代码如下;

        @Override
public List<Hotel> list() {
   Query query  = getEm().createNativeQuery("select hotel.name from hotel");
   List<Hotel> hotels= query.getResultList();

   return hotels;
}

当我执行上面的代码时,我得到NULL POINT异常,无论如何我已经处理过了。 DB中有值,当我在上面的代码中执行SQL时,我从MYSQL获得结果。我需要为什么返回NULL。

我正在使用JAVA持久性来保存记录。

问题2。

private EntityManager em;
.... 
getEm().persist(hotel);

如果不编写SQL insert语句,我们可以从上面的代码中将记录保存到DB中。有没有办法检索问题1中描述的记录。(将记录作为List<Hotel>对象返回)

1 个答案:

答案 0 :(得分:0)

  

查询query = getEm()。createNativeQuery(“select hotel.name from hotel”);

这将永远不会返回List,但它将返回一个List。对于异常,发布异常堆栈跟踪也很有用。

对于第二个问题,你不需要检索它们,持久化后的酒店对象是持久化的对象,将它添加到你的列表中就完成了。