/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.test.formulajoin; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.validation.constraints.NotNull; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; import org.hibernate.annotations.JoinColumnOrFormula; import org.hibernate.annotations.JoinFormula; /** * @author Steve Ebersole */ @Entity public class AnnotatedMaster { @Id private Integer id; private String name; @ManyToOne(fetch= FetchType.EAGER, optional=false) @JoinColumnOrFormula(formula=@JoinFormula(value="my_domain_key'", referencedColumnName="detail_domain")) @JoinColumnOrFormula(column=@JoinColumn(name="detail", referencedColumnName="id")) @Fetch(FetchMode.JOIN) @NotNull private AnnotatedDetail detail; }