繁体   English   中英

如何将值从一个类对象保存到另一类对象

[英]how to save values from one class object to another class object

我有两个类(POJO)中的名称Soldbookdetails.javaBookdetails.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.javaSoldbookdetails.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM