私はJava EEの初心者であり、この基準コードのどこに節を設定するかを知る必要があります
public <T> List<T> findEntity(Class<T> entityClass) {
CriteriaQuery<T> criteria = builder.createQuery(entityClass);
Root<T> entityRoot = criteria.from(entityClass);
criteria.select(entityRoot);
criteria.orderBy(order);
return em.createQuery(criteria).getResultList();
}
彼らは、私が java ( <T>
) のテンプレートを使用して、このコードをデータベースのさまざまなエンティティと連携させていることに気付くでしょう。
次に、sql (postgresql) コードとエンティティ クラスを渡します。
SQL:
CREATE TABLE activity
(
id integer NOT NULL,
name text NOT NULL,
_modified timestamp without time zone,
_user integer,
_enable boolean,
)
そしてクラス実体
public class activity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue( strategy = GenerationType.SEQUENCE, generator = "activity_id_activity_seq" )
@SequenceGenerator( name = "actividad_id_actividad_seq", sequenceName = "actividad_id_actividad_seq", allocationSize = 1, initialValue = 110 )
@Column(name = "id")
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "_modified")
@Temporal(TemporalType.TIMESTAMP)
private Date modified;
@Column(name = "_enable")
private Boolean enable;
@Column(name = "_user")
private Integer user;
.......
}
メソッド テンプレートを使用して関数findEntityのコードに where 句を追加する方法を知る必要があります。
条件の where 句は、列_Enableと一致する必要があります。この列が言及したこの列は、データベース内の 4 つのテーブルで繰り返されるため、その関数でコードを再利用する方がよいことに注意してください。
ありがとう