[英]How to design a simple JSP to manage a ManyToOne Hibernate association
我有發票和供應商休眠實體。
一張發票只有一個供應商。
一個供應商可以鏈接到許多發票。
在Invoice類中,我使用@ManyToOne注釋了供應商getter。
在后端層一切正常,但是...前端呢?
我的意思是,我的invoices.jsp非常簡單。 我有一個表格,您可以在其中放入金額,所有發票數據以及<select><option value="${supplierid}>supplier description</option></select>
。
在控制器的POST方法中,我收到了所有這些數據,創建了一個新發票,並用它填寫其屬性,而供應商ID該怎么辦?
現在,我向我的SupplierService查詢具有該ID(鍵)的供應商,將其分配給新發票的“ supplier”屬性,並使其保持休眠狀態。
那是最佳實踐還是您有更好的主意? 謝謝
session.load(Supplier.class, id);
如果您只想滿足引用,它比查詢更好,因為它不會創建到db的往返來獲取供應商,它將返回一個滿足引用的代理。
您還有另一種選擇,就是加載和緩存供應商,假設這並不會經常更改(當然,“太頻繁”的需求需要定義,並且也需要清除緩存的策略)。 然后,您可以在呈現JSP之前從緩存中獲取供應商ID,並且在提交表單時創建發票時,可以使用其ID從緩存中檢索供應商。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.