Search...
FAQs
Subscribe
Pie
FAQs
Recent topics
Flagged topics
Hot topics
Best topics
Search...
Search within Object Relational Mapping
Search Coderanch
Advance search
Google search
Register / Login
Post Reply
Bookmark Topic
Watch Topic
New Topic
programming forums
Java
Mobile
Certification
Databases
Caching
Books
Engineering
Micro Controllers
OS
Languages
Paradigms
IDEs
Build Tools
Frameworks
Application Servers
Open Source
This Site
Careers
Other
Pie Elite
all forums
this forum made possible by our volunteer staff, including ...
Marshals:
Campbell Ritchie
Paul Clapham
Ron McLeod
Jeanne Boyarsky
Tim Cooke
Sheriffs:
Liutauras Vilda
paul wheaton
Henry Wong
Saloon Keepers:
Tim Moores
Tim Holloway
Stephan van Hulst
Carey Brown
Frits Walraven
Bartenders:
Piet Souris
Himai Minh
Forum:
Object Relational Mapping
How to query on Mapping Tables in Hibernate HQL
Deepaks Deshpande
Ranch Hand
Posts: 114
I like...
posted 8 years ago
Number of slices to send:
Optional 'thank-you' note:
Send
Dear All,
I have the following classes
@Entity @Table(name="Advertisements") public class Advertisements implements Serializable { /** * */ private static final long serialVersionUID = 6124429868637268214L; @Id @Column(name = "advertisementid", nullable = false) private int advertisementId; @Column(name = "advertisementtitle", nullable = false) private String advertisementTitle; @Column(name="startdate", nullable = false) @Type(type = "org.hibernate.type.TimestampType") private Date startDate; @Column(name = "enddate", nullable = false) @Type(type = "org.hibernate.type.TimestampType") private Date endDate; @Column(name = "advertisementdetails", nullable = false) @Type(type = "org.hibernate.type.TextType") private String advertisementDetails; @Column(name = "publishedstatus", nullable = false) @Type(type = "org.hibernate.type.NumericBooleanType") private Boolean publishedStatus; @ManyToMany(cascade = { CascadeType.ALL }) @JoinTable(name = "Advt_Desg_UserDetails_Mapping", joinColumns = { @JoinColumn(name = "advertisementid")}, inverseJoinColumns = { @JoinColumn(name = "designationid") }) private Set<Designation> designation = new HashSet<Designation>(); @ManyToMany(cascade = {CascadeType.ALL}) @JoinTable(name = "Advt_Desg_Exam_Mapping", joinColumns = {@JoinColumn(name = "advertisementid")}, inverseJoinColumns = {@JoinColumn(name = "designationid")}) private Set<Designation> designationForAdvt = new HashSet<Designation>(); @ManyToMany(cascade = {CascadeType.ALL}) @JoinTable(name = "Advt_Desg_Exam_Mapping", joinColumns = {@JoinColumn(name = "advertisementid")}, inverseJoinColumns = {@JoinColumn(name = "examid")}) private Set<Exam> exam = new HashSet<Exam>(); @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "advertisementid") private Set<Answer> answerOption = new HashSet<Answer>(); /** * */ public Advertisements() { // TODO Auto-generated constructor stub } //getters and setters }
Another class as follows:
@Entity @Table(name = "Designation") public class Designation implements Serializable { /** * */ private static final long serialVersionUID = 5192204852848047958L; @Id @Column(name = "designationid", nullable = false) private int designationId; @Column(name = "designationname", nullable = false) private String designationName; @Column(name = "designationdescription", nullable = false) private String designationDescription; @ManyToMany(mappedBy = "userDesignation") private Set<UserDetails> userDesignationDetails = new HashSet<UserDetails>(); @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "advertisementid") private Set<Advertisements> advertisements = new HashSet<Advertisements>(); @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "advertisementid") private Set<Advertisements> advertisementsForMapping = new HashSet<Advertisements>(); @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "designationid") private Set<Answer> answerOption = new HashSet<Answer>(); /** * */ public Designation() { // TODO Auto-generated constructor stub } /** * @param designationId * @param designationName * @param designationDescription * @param userDesignationDetails * @param jobsApplied */ public Designation(int designationId, String designationName, String designationDescription, Set<UserDetails> userDesignationDetails, Set<Advertisements> advertisements, Set<Advertisements> advertisementsForMapping) { super(); this.designationId = designationId; this.designationName = designationName; this.designationDescription = designationDescription; this.userDesignationDetails = userDesignationDetails; this.advertisements = advertisements; this.advertisementsForMapping = advertisementsForMapping; } //getters and setters
And Another class as follows:
@Entity @Table(name = "UserDetails") public class UserDetails implements Serializable { /** * */ private static final long serialVersionUID = 2035170424379800778L; @Id @Column(name="userdetailsid", nullable = false) private int userDetailsId; @Column(name = "name", nullable = false) private String name; @Column(name = "age", length = 2, nullable = false) private Integer age; @Column(name = "gender", nullable = false) @Type(type = "org.hibernate.type.NumericBooleanType") private Boolean gender; @Column(name = "emailid", nullable = false) private String emailId; @Column(name = "alternateemailid", nullable = false) private String altEmailId; @Column(name = "username", nullable = false) private String userName; @Column(name = "password", nullable = false) private String password; @Column(name = "userphoto", nullable = false) private String userPhoto; @Column(name="resume", nullable = false) @Type(type = "org.hibernate.type.TextType") private String resume; @Column(name = "presentaddress", nullable = false) private String presentAddress; @Column(name = "pincode", length = 6, nullable = false) @Type(type = "java.lang.Integer") private Integer pincode; @Column(name = "landlineno", nullable = false) private String landLineNo; @Column(name = "mobileno", length = 10, nullable = false) @Type(type = "java.lang.Long") private Long mobileNo; @Column(name = "registrationdate", nullable = false) @Type(type = "org.hibernate.type.TimestampType") private Date registrationDate; @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY ) @JoinColumn(name = "userroleid", insertable=true, updatable=true, nullable = false) private UserRole userRole; @ManyToMany(cascade = { CascadeType.ALL }) @JoinTable(name = "Advt_Desg_UserDetails_Mapping", joinColumns = { @JoinColumn(name = "userdetailsid")}, inverseJoinColumns = { @JoinColumn(name = "designationid") }) private Set<Designation> userDesignation; @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "userdetailsid") private Set<Exam> examid = new HashSet<Exam>(); @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "userdetailsid") private Set<Answer> answerOption = new HashSet<Answer>(); /** * */ public UserDetails() { // TODO Auto-generated constructor stub } /** * @param userDetailsId * @param name * @param age * @param gender * @param emailId * @param altEmailId * @param userName * @param password * @param userPhoto * @param resume * @param presentAddress * @param pincode * @param landLineNo * @param mobileNo * @param registrationDate * @param userRole * @param userDesignation */ public UserDetails(int userDetailsId, String name, Integer age, Boolean gender, String emailId, String altEmailId, String userName, String password, String userPhoto, String resume, String presentAddress, Integer pincode, String landLineNo, Long mobileNo, Date registrationDate, UserRole userRole, Set<Designation> userDesignation) { super(); this.userDetailsId = userDetailsId; this.name = name; this.age = age; this.gender = gender; this.emailId = emailId; this.altEmailId = altEmailId; this.userName = userName; this.password = password; this.userPhoto = userPhoto; this.resume = resume; this.presentAddress = presentAddress; this.pincode = pincode; this.landLineNo = landLineNo; this.mobileNo = mobileNo; this.registrationDate = registrationDate; this.userRole = userRole; this.userDesignation = userDesignation; } //getters
The above 3 classes produce a mapping table called "Advt_Desg_UserDetails_Mapping". The "Advt_Desg_UserDetails_Mapping" table is as follows :
CREATE TABLE `Advt_Desg_UserDetails_Mapping` ( `userdetailsid` int(11) NOT NULL, `designationid` int(11) NOT NULL, `advertisementid` int(11) NOT NULL, PRIMARY KEY (`advertisementid`,`designationid`), KEY `FK3C227BFA1CD8F459` (`advertisementid`), KEY `FK3C227BFA78330FDE` (`userdetailsid`), KEY `FK3C227BFADA3647BE` (`designationid`), CONSTRAINT `FK3C227BFADA3647BE` FOREIGN KEY (`designationid`) REFERENCES `Designation` (`designationid`), CONSTRAINT `FK3C227BFA1CD8F459` FOREIGN KEY (`advertisementid`) REFERENCES `Advertisements` (`advertisementid`), CONSTRAINT `FK3C227BFA78330FDE` FOREIGN KEY (`userdetailsid`) REFERENCES `UserDetails` (`userdetailsid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Can some body now tell me how to execute a query on this mapping table produced from the above 3 Classes.
Regards,
Deepak
She'll be back. I'm just gonna wait here. With this tiny ad:
free, earth-friendly heat - a kickstarter for putting coin in your pocket while saving the earth
https://coderanch.com/t/751654/free-earth-friendly-heat-kickstarter
reply
reply
Bookmark Topic
Watch Topic
New Topic
Boost this thread!
Similar Threads
deleting causes : not-null property references a null or transient value
what us mean mappedBy="item" ?
Edit primary key, if it's a foreign key
HIbernate Mapping problem
Adding an element to a collection
More...