[英]how to save values from one class object to another class object
我有两个类(POJO)中的名称Soldbookdetails.java
和Bookdetails.java
,我想要做的是,我得从Bookdetails表(数据Soldbookdetails.java
)并保存相同的数据,以我的Soldbookdetails表( Soldbookdetails.java
) 。
ActionClass.java
private Double[] id;//With getter and setter
private Double[] quantity; //With getter and setter
Bookdetails book=new Bookdetails();//pojos,//With getter and setter
Soldbookdetails sbook=new Soldbookdetails();//pojos,//With getter and setter
BookdetailsDAO dao=new BookdetailsDAO();
SoldBooksTransactionDAO dao2=new SoldBooksTransactionDAO();
------------
(注意: 我的两个pojo都是相同的,只是它们的类名不同 )
我的问题 :我无法从保存记录Bookdetails.java
到Soldbookdetails.java
。(见我上面ActionClass.java
类,执行方法里面,我有提到ERRROR)。
通过Bookid获得记录后,我无法将记录保存到我的Soldbookdetails.java
。
请帮助我解决我的问题。
你saveSoldbooks(Soldbookdetails s)
方法需要的对象Soldbookdetails
的说法,但你逝去的类的对象Bookdetails
。
你可以做的事情是,你可以添加一个方法是复制的属性Bookdetails
对象的Soldbookdetails
对象(不id字段)。 然后,您应该尝试使用现有方法保存Soldbookdetails
的对象。
尽管将已售出的书籍和书籍放在不同的表中是(IMO)良好的性能,但是我认为您无需为其创建单独的IDENTICAL类。 考虑使您成为BookDetails类的抽象,并将其注释为MappedSuperclass :
@MappedSuperclass
public abstract class BookDetails{
// fields
// getters
// setters
}
@Entity
@Table(name="SoldBooks")
public class SoldBookDetails extends BookDetails{
// Currently blank
}
@Entity
@Table(name="BookDetails")
public class TradingBookDetails extends BookDetails{
// Currently blank
}
尽管目前您的类是相同的,但将来您可能会决定创建其他类型的书(例如用于购买要存储的书或以客户的方式购买书的其他表和类),当然,SoldBooks可能会出现不同的逻辑等等,在这种情况下,这种“抽象”将简化维护。
您目前对saveSoldBook的唯一更改是,我现在看到的是更改其参数类型或在方法的主体中提供类型检查,只要参数类型为BookDetails,您就可以传入该函数中派生的任何变量-因此,需要TraidingBookDetails,SoldBookDetails等。(需要的更改取决于您在此方法中的逻辑以及DAO本身)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.