2017-03-31 3 views
1

1 + nクエリを適用しないために、2つのテーブルが1つの製造元と1つのモニタです。私は、各メーカーの下でモニターの数をインクリメントすることができるようにしたい:jpa/hibernateを使用して、新しいエントリを追加するときにPostgresqlの値を増やします。

manufacturer table:      monitor 
    id name  totalMonitors    id  name  manufacturerId 

    1  manuf1  100000     1  mon1  1 
    2  manuf2  2000     2  mon2  2 

エンティティ:

public class Manufacturer{ 

    private long id; 

    private String name; 

    private long totalMonitors; 
} 

public class Monitor{ 

    private long id; 

    private String name; 

    private Manufacturer manufacturer; 
} 

私がデータを操作するためにDTOを使用しています。私は実際には方法で困惑している あなたは、DAOインターフェイスを使用するクエリのDBの値を増分することができます。増分をトリガーするためのソリューション があれば、このよう

 @QUERY("Query to get the number of total monitors for each manuf") 
    long countByManufacturerId(List<Manufacturer> manufacturers); 

は、私が知りたいことはある、これはパフォーマンスが低下しますので、私はDB にたびにモニターの数を数えるcanot Webアプリケーションになります追加/削除の操作が である場合には、値totalMonitorsの値をDBに対して実行する。

答えて

0

YuoはJPAコールバックアノテーションを見てみることができます。

関連する問題