Как я могу отобразить JDialog с именами элементов, которые ниже определенного количества из базы данных? - PullRequest
0 голосов
/ 17 февраля 2019

Как я могу отобразить JDialog с именами предметов, которые ниже определенного количества?Мне это понадобится в приложении базы данных Java, разработанном с использованием Hibernate 5.4 и Apache Derby в среде IDE NetBeans.Я новичок и буду признателен за любую помощь!

Ниже вы можете увидеть диаграмму сущностей таблиц базы данных:

Нажмите на ссылку, чтобы открыть изображение

Вот 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 должен пережить этот метод и класс, mustnне так ли?Таким образом, когда я вызываю эту переменную в другом классе, который должен отображать сообщение, когда в приложении открывается окно запасов ...

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...