При связывании с базой данных в Java и использовании getCriteriaBuilder
java.lang.IllegalArgumentException: Not an entity: class DataBase.entity.PlaceTable
При этом определен класс PlaceTable
:
@Entity @Table( name = "place" ) public class PlaceTable { @Id @Column( name = "idplace" ) private int placeId; @Column( name = "idparking") private String parkingId; @Column( name = "car" ) private boolean flagCar; @Column( name = "bike" ) private boolean flagBike; @Column( name = "truck" ) private boolean flagTruck; @Column( name = "bus" ) private boolean flagBus; @Column( name = "flag" ) private boolean empty; @Column( name = "idcar" ) private String carId; @Column( name = "timeBegin") private int timeBegin;
Вот вызов обращения к базе
public ArrayList<PlaceTable> getWithCriteria( String field, String value ) throws HibernateException{ CriteriaBuilder builder = session.getCriteriaBuilder(); CriteriaQuery<PlaceTable> query = builder.createQuery(PlaceTable.class); Root<PlaceTable> root = query.from( PlaceTable.class ); query.select(root).where(builder.equal( root.get( field ), value ) ); Query<PlaceTable> q = session.createQuery(query); return ( ArrayList<PlaceTable> )q.getResultList(); }
Данное исключение выкидывается на строке Root<PlaceTable> root = query.from( PlaceTable.class );