EntityManagerFactory emf;
EntityManager em = null;
try {
emf =
Persistence.createEntityManagerFactory("oo");
em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(ri);
em.getTransaction().commit();
} finally {
em.close();
}
If you throw an exception in Persistence.createEntityManagerFactory
(), em will be null when you try to call close on it. Put an
if (em != null)
test in your finally.
On Oct 1, 8:06 pm, "kuoy...@taiwan" <[email protected]> wrote:
> Hi:
> I using GWT but it get a error(I want to GWT with JPA) :
> [WARN] Exception while dispatching incoming RPC call
> com.google.gwt.user.server.rpc.UnexpectedException: Service method
> 'public abstract void
> org.kuoying.client.GreetingService.save(org.kuoying.client.RpcItem)'
> threw an unexpected exception: java.lang.NullPointerException
> at
> com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:
> 378)
> ......................
>
> souce code:
>
> public class First implements EntryPoint {
> /**
> * This is the entry point method.
> */
> public void onModuleLoad() {
> Button sendButton = new Button("Send");
> final TextBox nameField = new TextBox();
> nameField.setText("GWT User");
> RootPanel.get("nameFieldContainer").add(nameField);
> RootPanel.get("sendButtonContainer").add(sendButton);
> sendButton.addClickHandler(new ClickHandler(){
> public void onClick(ClickEvent event) {
> GreetingServiceAsync greetingService = GWT
> .create(GreetingService.class);
>
> String textToServer = nameField.getText();
> RpcItem ri = new RpcItem();
> ri.setId(7);
> ri.setUsername(textToServer);
> greetingService.save(ri, new AsyncCallback() {
> public void onFailure(Throwable
> caught) {
> Window.alert("Fail");
> }
> public void onSuccess(Object result) {
> Window.alert("Success");
> }
> });
> }
> });
> }}
>
> ------------------------------------------
> @RemoteServiceRelativePath("greet")
> public interface GreetingService extends RemoteService {
> // String greetServer(String name) throws IllegalArgumentException;
> void save(RpcItem ri);}
>
> ----------------------------------------------
> public interface GreetingServiceAsync {
> void save(RpcItem ri, AsyncCallback callback);}
>
> --------------------------------------------
> public class GreetingServiceImpl extends RemoteServiceServlet
> implements
> GreetingService {
>
> private static final long serialVersionUID = 1L;
>
> @Override
> public void save(RpcItem ri) {
> EntityManagerFactory emf;
> EntityManager em = null;
> try {
> emf = Persistence.createEntityManagerFactory("oo");
> em = emf.createEntityManager();
> em.getTransaction().begin();
> em.persist(ri);
> em.getTransaction().commit();
> } finally {
> em.close();
> }
> }
>
> }
>
> What can I do?? THX^^
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.