【万能的微民网】求助码农
整理时间:2013-04-11 00:27 来源:www.vimiy.com 作者:编辑 点击:次
【楼主】 2013-04-10 00:01
» 求助码农
刚开始学JSF和EJB 用netbeans编了个小程序 一调用数据库就返回错误java.lang.NullPointerException
据说是找不到数据库。
我是用entity和entity Manager访问数据库的 这东西是应该自动创建数据库的么?
部分关键代码如下
TaskUser.java
import java.io.Serializable;
import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
@Entity
@NamedQueries({
@NamedQuery(name="findTaskUser",
query="SELECT t FROM TaskUser t WHERE t.username LIKE :namestring"
)
})
public class TaskUser implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
String username;
String password;
public String getUsername()
{
if(username==null)
{
username=new String();
}
return username;
}
public void setUsername(String username)
{
this.username=username;
}
public String getPassword()
{
if(password==null)
{
password=new String();
}
return password;
}
public void setPassword(String password)
{
this.password=password;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof TaskUser)) {
return false;
}
TaskUser other = (TaskUser) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "entity.User";
}
}
toDoList.java
package todolist;
import entity.Task;
import entity.TaskUser;
import javax.inject.Named;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.enterprise.context.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@Named(value="toDoList")
@ManagedBean
@SessionScoped
public class ToDoList implements Serializable{
//@PersistenceContext(unitName = "toDoList")
private EntityManager em;
private String username;
private String password;
private String output;
private List <Task> tasks=null;
public String register()
{
if("".equals(username))
{
output="please input username first";
return "index";
}
else{
if("".equals(password))
{
output="please input password";
return "index";
}
else
{
Query q=em.createNamedQuery("findTaskUser");
q.setParameter("namestring",username);
List <TaskUser> users=q.getResultList();
if(!users.isEmpty())
{
output="username already existed";
return "index";
}
else
{
TaskUser newUser= new TaskUser();
newUser.setPassword(password);
newUser.setUsername(username);
em.persist(newUser);
output="register completed";
return "index";
}
}
}
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username=username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password=password;
}
public String getOutput()
{
return output;
}
public void setOutput(String output)
{
this.output=output;
}
}
求助怎么修改可以连接到数据库呢 在em.creatNamedQuery()那里就出错了
网友评论 2013-04-10 00:09
你也没必要发两遍吧
不懂帮顶
网友评论 2013-04-10 00:29
你发的时间不对,也不看看现在都啥时候了
网友评论 2013-04-10 00:49
java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
----sent from my motorola ME525+,Android 2.3.6
网友评论 2013-04-10 00:52
Reply Post by ddddse (2013-04-10 00:49):
java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
----sent from my motorola ME525+,Android 2.3.6
多接触一门语言就算没好处怎么也不会有坏处
----sent from my Xiaomi MI 1SC,Android 4.0.4
网友评论 2013-04-10 00:53
Reply Post by kyoleo (2013-04-10 00:29):
你发的时间不对,也不看看现在都啥时候了
码农这个时候还很活跃,不过大概是不会再想代码了
----sent from my Xiaomi MI 1SC,Android 4.0.4
网友评论 2013-04-10 00:56
Reply Post by ddddse (2013-04-10 00:49):
java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
----sent from my motorola ME525+,Android 2.3.6
php是最好的语言,不服来战
----sent from my samsung GT-N7100,Android 4.1.2
网友评论 2013-04-10 00:57
Reply Post by ddddse (2013-04-10 00:49):
java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
----sent from my motorola ME525+,Android 2.3.6
lol
网友评论 2013-04-10 00:59
你这个em没用constructor初始化,就是个控制帧,怎么能调用它的方法
网友评论 2013-04-10 01:00
java语言垃圾,而且还常常配上更垃圾的sshi框架,更是垃圾
----sent from my motorola ME525+,Android 2.3.6
网友评论 2013-04-10 01:02
JAVA脚本语言 求别黑
----sent from my Sony Ericsson LT26i,Android 4.0.4
网友评论 2013-04-10 01:04
楼主你看一下你的exception是哪一行报错了,去看看就对了。这空指错误应该是最容易遇到的,也是通常情况下最容易解决的。
----sent from my Sony Ericsson LT26i,Android 4.0.4
网友评论 2013-04-10 01:04
Reply Post by 风流涕淌 (2013-04-10 00:52):
多接触一门语言就算没好处怎么也不会有坏处
----sent from my Xiaomi MI 1SC,Android 4.0.4
在你的时间不值钱的前提下。
----sent from my motorola ME525+,Android 2.3.6
网友评论 2013-04-10 01:07
Reply Post by ddddse (2013-04-10 00:49):
java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
----sent from my motorola ME525+,Android 2.3.6
你明明在喷语言,但是这关oracle数据库和ios操作系统毛关系?
----sent from my samsung GT-I9300,Android 4.1.1
网友评论 2013-04-10 01:13
Reply Post by ddddse (2013-04-10 01:04):
在你的时间不值钱的前提下。
----sent from my motorola ME525+,Android 2.3.6
呃,人家学的开心就当是撸啊撸了,我的非工作时间确实不值钱,甲板有木甲板费
----sent from my Xiaomi MI 1SC,Android 4.0.4
网友评论 2013-04-10 01:33
楼主你还不熟调试器啊,这个问题解决了也会有别的问题。
在ide运行,出现你说的异常会自动断下来,这时候仔细观察堆栈,异常点代码,变量值列表,即可找出问题。
网友评论 2013-04-10 02:05
这种排版好蛋痛啊。。。。。
网友评论 2013-04-10 02:23
求助码农
给em那加注解, @PersistenceContext(unitName='xxx'),xxx部分看你xml文件中怎么配置的。
话说jpa这东西,就算搞java的也一半以上人不用,都清一色hibernate
网友评论 2013-04-10 09:58
应该放弃EJB往轻量级框架那边靠, 看看你配置文件里面吧 空指针很多时候都是配置文件的问题 没法注入
网友评论 2013-04-10 10:08
Reply Post by ddddse (2013-04-10 00:49):
java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
----sent from my motorola ME525+,Android 2.3.6
Python3, Objective-C, PL/SQL.
这才叫语言, ios和oracle算什么语言.....你要说cocoa还算沾点边....
另外java就算坑大, 也比C++好多了.
em没有初始化, 很大可能是xml配置不正确或者xml没放对位置....
另外那行annotation注释掉是一定不会初始化em的....
罗辑思维 全国人大代表 真三搞笑视频 柳岩
Copyright © 2012年2月8日