如何显示项目名称低于特定数量的JDialog?我需要在NetBeans IDE中使用Hibernate 5.4和Apache Derby开发的Java数据库应用程序中使用它。我是一个新手,将不胜感激!
下面您可以看到数据库表的实体关系图:
这是JDialog,其中会显示低于特定限制的项目:
这是用户输入数量限制的窗口:
用于输入限制的代码段:
public class SetQuantityLimit extends javax.swing.JFrame{
public static int limit
...
private void enterButtonActionPerformed(java.awt.event.ActionEvent evt){
limit = Integer.paerseInt(this.JTextField.getText());
作为静态变量 limit 应该比该方法和类的寿命更长,不是吗?因此,当我在另一个类中调用此变量时,在应用程序中打开股票窗口时应显示消息...
public class LimitMessage extends javax.swing.JDialog
...它应该有它的价值,对吗?这就是我所拥有的:
private void FillData()
DefaultTableModel dtm = new DefaultTableModel();
dtm.addColumn("Name")
List<Items> result = null;
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = null;
Transaction tx = null;
session = sessionFactory.openSession();
tx = session.beginTransaction();
Query query = session.createQuery("...");
result = query.list();
tx.commit();
session.close();
//itemModel is an instance of ItemModel() DAO class with methods such as create, update, delete etc., see picture below
for (Items item : this.itemModel.findAll()){
dtm.addRow(new Object[]{...});
this.JTable.setModel(dtm);}
...
此方法应在JTable中显示低于项目限制的项目名称。问题在于,项目数量是使用TRANSACTIONS.Flow和ADVICENOTE.In_Or_Out列和表关联来计算的,而不是存储在数据库中的,这可能会出现问题。我很迷茫,我不确定是否应该在这里重新计算数量,还是可以使用从库存角度进行计算的库存视图。也许我应该修改整个数据库结构以使其更合理...任何建议和帮助都将不胜感激!
Items.java
package classes;
public class Items implements java.io.Serializable {
private int itemId;
private String name;
private Integer netPrice;
private Integer vatRate;
private Categories category;
public Items() {
}
public Items(int itemId, String name, Integer netPrice, Integer vatRate, Categories category) {
this.itemId = itemId;
this.name = name;
this.netPrice = netPrice;
this.vatRate = vatRate;
this.category = category;
}
public int getItemId() {
return this.itemId;
}
public void setItemId(int itemId) {
this.itemId = itemId;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public Integer getNetPrice() {
return this.netPrice;
}
public void setNetPrice(Integer netPrice) {
this.netPrice = netPrice;
}
public Integer getVatRate() {
return this.vatRate;
}
public void setVatRate(Integer vatRate) {
this.vatRate = vatRate;
}
public Categories getCategory() {
return category;
}
public void setCategory(Categories category) {
this.category = category;
}
}
Items.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="classes.Items" table="ITEMS" schema="APP" optimistic-lock="version">
<id name="itemId" type="int" column="ITEM_ID">
<generator class="native" />
</id>
<property name="name" type="string" column="NAME" length="100"/>
<property name="netPrice" type="java.lang.Integer" column="NET_PRICE"/>
<property name="vatRate" type="java.lang.Integer" column="VAT_RATE"/>
<many-to-one name="category" class="classes.Categories" fetch="select" column="CATEGORY_ID" not-null="true" lazy="false"/>
</class>
</hibernate-mapping>