JPA综合(一)图书订单

Book:

package com.bookstore.entity;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="book")
public class Book implements Serializable {

	private Integer book_id;
	private String bookname;
	private String author;
	private double price;
	private String bookimg;
	private String bookdesc;
	
	@Id
	@GeneratedValue
	public Integer getBook_id() {
		return book_id;
	}
	public void setBook_id(Integer book_id) {
		this.book_id = book_id;
	}
	public String getBookname() {
		return bookname;
	}
	public void setBookname(String bookname) {
		this.bookname = bookname;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	public String getBookimg() {
		return bookimg;
	}
	public void setBookimg(String bookimg) {
		this.bookimg = bookimg;
	}
	public String getBookdesc() {
		return bookdesc;
	}
	public void setBookdesc(String bookdesc) {
		this.bookdesc = bookdesc;
	}
	
	
}

 

Customer:

package com.bookstore.entity;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;

@Entity
@Table(name="customer")
public class Customer implements Serializable {
	
	private Integer customer_id;
	private String customer_name;
	private String password;
	private String email;
	private Set<Orders> orders=new HashSet<Orders>();
	
	@Id
	@GeneratedValue
	public Integer getCustomer_id() {
		return customer_id;
	}
	public void setCustomer_id(Integer customer_id) {
		this.customer_id = customer_id;
	}
	
	@Column(name="customer_name",nullable=false,length=32)
	public String getCustomer_name() {
		return customer_name;
	}
	public void setCustomer_name(String customer_name) {
		this.customer_name = customer_name;
	}
	
	@Column(nullable=false,length=32)
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	@Column(nullable=false,length=32)
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	@OneToMany(mappedBy="customer",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
	@OrderBy(value="order_id")
	public Set<Orders> getOrders() {
		return orders;
	}
	public void setOrders(Set<Orders> orders) {
		this.orders = orders;
	}
	
	
	

}

 

Orders:

package com.bookstore.entity;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;

@Entity
@Table(name="orders")
public class Orders implements Serializable {

	private Integer order_id;
	private Customer customer;
	private Set<OrderItem> orderItems=new HashSet<OrderItem>();
	private double totalprice;
	
	@Id
	@GeneratedValue
	public Integer getOrder_id() {
		return order_id;
	}
	public void setOrder_id(Integer order_id) {
		this.order_id = order_id;
	}
	
	@ManyToOne(cascade=CascadeType.PERSIST,optional=false)
	@JoinColumn(name="customer_id")
	public Customer getCustomer() {
		return customer;
	}
	public void setCustomer(Customer customer) {
		this.customer = customer;
	}
	
	@OneToMany(mappedBy="orders",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
	@OrderBy(value="orderItem_id")
	public Set<OrderItem> getOrderItems() {
		return orderItems;
	}
	public void setOrderItems(Set<OrderItem> orderItems) {
		this.orderItems = orderItems;
	}
	
	@Column(nullable=false)
	public double getTotalprice() {
		return totalprice;
	}
	public void setTotalprice(double totalprice) {
		this.totalprice = totalprice;
	}
	
	
}

 

OrderItem

package com.bookstore.entity;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="orderItem")
public class OrderItem implements Serializable {

	private Integer orderItem_id;
	private int quantity;
	private Orders orders;
	private Integer bookid;
	
	@Id
	@GeneratedValue
	public Integer getOrderItem_id() {
		return orderItem_id;
	}
	public void setOrderItem_id(Integer orderItem_id) {
		this.orderItem_id = orderItem_id;
	}
	public int getQuantity() {
		return quantity;
	}
	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}
	
	@ManyToOne(cascade=CascadeType.PERSIST,optional=false)
	@JoinColumn(name="order_id")
	public Orders getOrders() {
		return orders;
	}
	public void setOrders(Orders orders) {
		this.orders = orders;
	}
	
	@Column(nullable=false)
	public Integer getBookid() {
		return bookid;
	}
	public void setBookid(Integer bookid) {
		this.bookid = bookid;
	}
	
	
}

 

数据库表:

mysql> desc book;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| book_id  | int(11)      | NO   | PRI | NULL    | auto_increment |
| bookname | varchar(255) | YES  |     | NULL    |                |
| author   | varchar(255) | YES  |     | NULL    |                |
| price    | double       | NO   |     | NULL    |                |
| bookimg  | varchar(255) | YES  |     | NULL    |                |
| bookdesc | varchar(255) | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

mysql> desc customer;
+---------------+-------------+------+-----+---------+----------------+
| Field         | Type        | Null | Key | Default | Extra          |
+---------------+-------------+------+-----+---------+----------------+
| customer_id   | int(11)     | NO   | PRI | NULL    | auto_increment |
| password      | varchar(32) | NO   |     | NULL    |                |
| customer_name | varchar(32) | NO   |     | NULL    |                |
| email         | varchar(32) | NO   |     | NULL    |                |
+---------------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

mysql> desc orders;
+-------------+---------+------+-----+---------+----------------+
| Field       | Type    | Null | Key | Default | Extra          |
+-------------+---------+------+-----+---------+----------------+
| order_id    | int(11) | NO   | PRI | NULL    | auto_increment |
| totalprice  | double  | NO   |     | NULL    |                |
| customer_id | int(11) | NO   | MUL | NULL    |                |
+-------------+---------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

mysql> desc orderitem;
+--------------+---------+------+-----+---------+----------------+
| Field        | Type    | Null | Key | Default | Extra          |
+--------------+---------+------+-----+---------+----------------+
| orderItem_id | int(11) | NO   | PRI | NULL    | auto_increment |
| quantity     | int(11) | NO   |     | NULL    |                |
| bookid       | int(11) | NO   |     | NULL    |                |
| order_id     | int(11) | NO   | MUL | NULL    |                |
+--------------+---------+------+-----+---------+----------------+
4 rows in set (0.02 sec)
 
保存方法:
public Book saveBook(Book book) {
		em.persist(book);
		System.out.println(book.getBookname());
		return book;
	}

public Customer saveCustomer(Customer customer) {
		em.persist(customer);
		System.out.println(customer.getCustomer_name());
		return customer;
	}

public Orders saveOrder(Orders order) {
		
		em.persist(order);
		System.out.println(order.getOrder_id());
		return order;
	}

public OrderItem saveOrderItem(OrderItem orderItem) {
		em.persist(orderItem);
		System.out.println(orderItem.getOrderItem_id()+"Orderitem");
		return orderItem;
	}

 

单独保存Book和Customer可以。

但在客户端要保存Order,OrderItem该怎么办?

package com.bookstore.test;

import java.util.HashSet;
import java.util.List;
import java.util.Properties;
import java.util.Set;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.bookstore.dao.BookDAO;
import com.bookstore.dao.CustomerDAO;
import com.bookstore.dao.OrderDAO;
import com.bookstore.dao.OrderItemDAO;
import com.bookstore.entity.Book;
import com.bookstore.entity.Customer;
import com.bookstore.entity.OrderItem;
import com.bookstore.entity.Orders;

public class TestBookStore {

	/**
	 * @param args
	 * @throws NamingException 
	 */
	public static void main(String[] args) throws NamingException {
		Properties props=new Properties();
	      props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
	      props.setProperty("java.naming.provider.url","localhost:1099");
	      props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");
		InitialContext context=new InitialContext(props);
		try{
		/*
			BookDAO bdao=(BookDAO)context.lookup("BookDAOBean/remote");
			Book b1=new Book();
			b1.setAuthor("author1");
			b1.setBookdesc("bookdesc1");
			b1.setBookimg("b1 img");
			b1.setBookname("bname1");
			b1.setPrice(15);
			
			Book b2=new Book();
			b2.setAuthor("author2");
			b2.setBookdesc("bookdesc2");
			b2.setBookimg("b2 img");
			b2.setBookname("bname2");
			b2.setPrice(15);
			
			Book b3=new Book();
			b3.setAuthor("author3");
			b3.setBookdesc("bookdesc3");
			b3.setBookimg("b3 img");
			b3.setBookname("bname3");
			b3.setPrice(15);
			
			bdao.saveBook(b1);
			bdao.saveBook(b2);
			bdao.saveBook(b3);
			
			List<Book> lb=bdao.findBookAll();
			for(Book b:lb){
				System.out.println(b.getAuthor()+" "+b.getBookname()+" "+b.getBookdesc()+" "+b.getPrice());
			}
			
			
			CustomerDAO cdao=(CustomerDAO)context.lookup("CustomerDAOBean/remote");
			Customer c1=new Customer();
			c1.setCustomer_name("persia");
			c1.setEmail("cxccbv@163.com");
			c1.setPassword("password1");
		
*/
			
	     	OrderDAO odao=(OrderDAO)context.lookup("OrderDAOBean/remote");
	     	OrderItemDAO otdao=(OrderItemDAO)context.lookup("OrderItemDAOBean/remote");
	    
		
			Orders order1=new Orders();
			
			OrderItem ot1=new OrderItem();
			ot1.setBookid(new Integer(1));
		//	ot1.setOrders(order1);
			ot1.setQuantity(12);
			
			OrderItem ot2=new OrderItem();
			ot2.setBookid(new Integer(2));
		//	ot2.setOrders(order1);
			ot2.setQuantity(15);
			
					
			Set set=new HashSet();
			set.add(ot1);
			set.add(ot2);
			
			order1.setOrderItems(set);
			order1.setTotalprice(120d);
			
			odao.saveOrder(order1);
	  //     odao.saveOrder(order1);	
		   //  otdao.saveOrderItem(ot1);
		//	otdao.saveOrderItem(ot2);
			
		//	Set orders=new HashSet();
		//	orders.add(order1);
		//	c1.setOrders(orders);
			
						
			
		}catch(Exception e){
			e.printStackTrace();
		}

	}

}

我用上面的代码尝试着保存,不成功。

java.lang.reflect.UndeclaredThrowableException
	at $Proxy0.saveOrder(Unknown Source)
	at com.bookstore.test.TestBookStore.main(TestBookStore.java:98)
Caused by: java.lang.ClassNotFoundException: javax.persistence.PersistenceException
	at org.jboss.remoting.serialization.ClassLoaderUtility.loadClass(ClassLoaderUtility.java:82)
	at org.jboss.remoting.loading.RemotingClassLoader.loadClass(RemotingClassLoader.java:76)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:174)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerializationManager.java:239)
	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:133)
	at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120)
	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:957)
	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:586)
	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
	at org.jboss.remoting.Client.invoke(Client.java:1634)
	at org.jboss.remoting.Client.invoke(Client.java:548)
	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
	at $Proxy0.saveOrder(Unknown Source)
	at com.bookstore.test.TestBookStore.main(TestBookStore.java:98)
	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
	... 2 more

 

一对多和多对多在客户端如何保存?

这跟cascadeType是怎么个关系?

突破了这点,就是一个大的跃进。。。

 

package com.bookstore.test;

import java.util.HashSet;
import java.util.List;
import java.util.Properties;
import java.util.Set;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.bookstore.dao.BookDAO;
import com.bookstore.dao.CustomerDAO;
import com.bookstore.dao.OrderDAO;
import com.bookstore.dao.OrderItemDAO;
import com.bookstore.entity.Book;
import com.bookstore.entity.Customer;
import com.bookstore.entity.OrderItem;
import com.bookstore.entity.Orders;

public class TestBookStore {

	/**
	 * @param args
	 * @throws NamingException 
	 */
	public static void main(String[] args) throws NamingException {
		Properties props=new Properties();
	      props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
	      props.setProperty("java.naming.provider.url","localhost:1099");
	      props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");
		InitialContext context=new InitialContext(props);
		try{
		
			BookDAO bdao=(BookDAO)context.lookup("BookDAOBean/remote");
			Book b1=new Book();
			b1.setAuthor("author1");
			b1.setBookdesc("bookdesc1");
			b1.setBookimg("b1 img");
			b1.setBookname("bname1");
			b1.setPrice(15);
			
			Book b2=new Book();
			b2.setAuthor("author2");
			b2.setBookdesc("bookdesc2");
			b2.setBookimg("b2 img");
			b2.setBookname("bname2");
			b2.setPrice(15);
			
			Book b3=new Book();
			b3.setAuthor("author3");
			b3.setBookdesc("bookdesc3");
			b3.setBookimg("b3 img");
			b3.setBookname("bname3");
			b3.setPrice(15);
			
			bdao.saveBook(b1);
			bdao.saveBook(b2);
			bdao.saveBook(b3);
			
			List<Book> lb=bdao.findBookAll();
			for(Book b:lb){
				System.out.println(b.getAuthor()+" "+b.getBookname()+" "+b.getBookdesc()+" "+b.getPrice());
			}
		
			
			CustomerDAO cdao=(CustomerDAO)context.lookup("CustomerDAOBean/remote");
			Customer c1=new Customer();
			c1.setCustomer_name("persia");
			c1.setEmail("cxccbv@163.com");
			c1.setPassword("password1");
		    cdao.saveCustomer(c1);
		    
			List<Customer> lc=cdao.findCustomerByName("persia");
			Customer c=lc.get(0);
			System.out.println("获取customer:"+c.getCustomer_name());
	     	OrderDAO odao=(OrderDAO)context.lookup("OrderDAOBean/remote");
	     	
			Orders order1=new Orders();
			
			OrderItem ot1=new OrderItem();
			ot1.setBookid(new Integer(1));
			ot1.setOrders(order1);
			ot1.setQuantity(12);
			
			OrderItem ot2=new OrderItem();
			ot2.setBookid(new Integer(2));
			ot2.setOrders(order1);
			ot2.setQuantity(15);
			
					
			Set set=new HashSet();
			set.add(ot1);
			set.add(ot2);
			
			order1.setOrderItems(set);
			order1.setTotalprice(120d);
		
			order1.setCustomer(c1);
			odao.saveOrder(order1);
	 						
			
		}catch(Exception e){
			e.printStackTrace();
		}

	}

}

 

这样之后:

mysql> select * from orderitem;
+--------------+----------+--------+----------+
| orderItem_id | quantity | bookid | order_id |
+--------------+----------+--------+----------+
|            1 |       15 |      2 |        1 |
|            2 |       12 |      1 |        1 |
+--------------+----------+--------+----------+
2 rows in set (0.00 sec)

mysql> select * from orders;
+----------+------------+-------------+
| order_id | totalprice | customer_id |
+----------+------------+-------------+
|        1 |        120 |           2 |
+----------+------------+-------------+
1 row in set (0.00 sec)

mysql> select * from customer;
+-------------+-----------+----------------+---------------+
| customer_id | password  | email          | customer_name |
+-------------+-----------+----------------+---------------+
|           1 | password1 | cxccbv@163.com | persia        |
|           2 | password1 | cxccbv@163.com | persia        |
+-------------+-----------+----------------+---------------+
2 rows in set (0.00 sec)

mysql> select * from book;
+---------+----------+---------+-------+---------+-----------+
| book_id | bookname | author  | price | bookimg | bookdesc  |
+---------+----------+---------+-------+---------+-----------+
|       1 | bname1   | author1 |    15 | b1 img  | bookdesc1 |
|       2 | bname2   | author2 |    15 | b2 img  | bookdesc2 |
|       3 | bname3   | author3 |    15 | b3 img  | bookdesc3 |
+---------+----------+---------+-------+---------+-----------+
3 rows in set (0.00 sec)

 

customer重复了一个。。。。。

如果中间不保存customer,则customer是一个。

但是customer是先注册后再购物的,即使是注册时购物,再第二次购物时也会重复。

我估计问题在orders跟customer的cascade类型上。

但如果去掉order对customer的cascade:

author1 bname1 bookdesc1 15.0
author2 bname2 bookdesc2 15.0
author3 bname3 bookdesc3 15.0
java.lang.reflect.UndeclaredThrowableException
	at $Proxy2.saveOrder(Unknown Source)
	at com.bookstore.test.TestBookStore.main(TestBookStore.java:99)
Caused by: java.lang.ClassNotFoundException: javax.persistence.PersistenceException
	at org.jboss.remoting.serialization.ClassLoaderUtility.loadClass(ClassLoaderUtility.java:82)
	at org.jboss.remoting.loading.RemotingClassLoader.loadClass(RemotingClassLoader.java:76)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:174)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerializationManager.java:239)
	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:133)
	at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120)
	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:957)
	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:586)
	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
	at org.jboss.remoting.Client.invoke(Client.java:1634)
	at org.jboss.remoting.Client.invoke(Client.java:548)
	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
	at $Proxy2.saveOrder(Unknown Source)
	at com.bookstore.test.TestBookStore.main(TestBookStore.java:99)
	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
	... 2 more
 

 

 

 
 

转载于:https://www.cnblogs.com/cxccbv/archive/2009/01/21/1379647.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值