@Cacheable
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
------------------------------------------------
@Id
@GeneratedValue
@Column(name="CNO")
---------------------------------------------------------
@OneToMany(fetch = FetchType.LAZY, mappedBy = "salesBoys")
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="CUSTOMER_NO")
----------------------------------------------------------
try {
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
------------------------------------------------------------------
Session session = PizzaStoreController.getSessionFactory().openSession();
session.beginTransaction();
cust.setAddress(address);
session.save(cust);
int custId = cust.getCustomerNo();
session.getTransaction().commit();
session.close();
----------------------------------------------------------------------
Session session=HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
for(Pizza pizza: pizzas)
{
session.save(pizza);
}
session.getTransaction().commit();
session.close();
---------------------------------------------------------------------
Session session=HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Customer cust=(Customer) session.get(Customer.class, custId);
for(PizzaOrder pizzaOrder: pizzaOrders)
{
pizzaOrder.setCustomers(cust);
session.save(pizzaOrder);
System.out.println("pizza"+ pizzaOrder);
}
session.getTransaction().commit();
session.close();
-----------------------------------------------------------------------
List<Object[]> responseList= session.createQuery("select customers.customerNo, count(customers) as count from PizzaOrder group by customers").list();
---------------------------------------------------------------------------
Criteria criteria = session.createCriteria(Customer.class);
Criteria cr = session.createCriteria(PizzaOrder.class);
cr.setProjection(Projections.projectionList()
.add(Projections.rowCount())
.add(Projections.property("customers.customerNo"))
.add(Projections.sqlGroupProjection("{alias}.CUSTOMER_NO", "{alias}.CUSTOMER_NO having count({alias}.CUSTOMER_NO) = (select max(count)
"
+ "from (select customer_no, count(customer_no) as count from PizzaOrder group by customer_no) t )", new String[]{}, new Type[]{})));
List<Object[]> responseList1=cr.list();