类org.hibernate.annotations.Subselect源码实例Demo

下面列出了怎么用org.hibernate.annotations.Subselect的API类实例代码及写法,或者点击链接到github查看源代码。

public void cleanTables() {
  doInJPA(this::sessionFactory, entityManager -> {

    ((MetamodelImpl) entityManager.getMetamodel()).collectionPersisters()
        .values()
        .forEach(x -> {
          String deleteQuery = getDeleteQuery(((AbstractCollectionPersister) x).getTableName());
          entityManager.createNativeQuery(deleteQuery).executeUpdate();
        });

    Arrays.stream(getAnnotatedClasses())
        .filter(entity -> entity.getAnnotation(Subselect.class) == null)
        .forEach(x -> {
          String name = x.getAnnotation(Entity.class).name();
          if (name == null || name.isEmpty()) {
            name = x.getSimpleName();
          }
          entityManager.createQuery(getDeleteQuery(name)).executeUpdate();
        });
  });
}
 
 类所在包
 同包方法