/* * Hibernate, Relational Persistence for Idiomatic Java * * Copyright (c) 2009, Red Hat, Inc. and/or its affiliates or third- * party contributors as indicated by the @author tags or express * copyright attribution statements applied by the authors. * All third-party contributions are distributed under license by * Red Hat, Inc. * * This copyrighted material is made available to anyone wishing to * use, modify, copy, or redistribute it subject to the terms and * conditions of the GNU Lesser General Public License, as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this distribution; if not, write to: * * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ package org.hibernate.test.annotations.subselect; import javax.persistence.Entity; import javax.persistence.Id; import org.hibernate.annotations.Subselect; import org.hibernate.annotations.Synchronize; /** * @author Sharath Reddy * */ @Entity @Subselect("select Item.name as name, max(Bid.amount) as amount from Item, Bid where Bid.itemId = Item.id group by Item.name") @Synchronize({"Item", "Bid"}) public class HighestBid { private String name; private double amount; @Id public String getName() { return name; } public void setName(String val) { this.name = val; } public double getAmount() { return amount; } public void setAmount(double amount) { this.amount = amount; } }