-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: How to insert the row in the table with composite primary ke
PostPosted: Sat Jan 09, 2010 3:04 am 
Newbie

Joined: Mon Dec 21, 2009 8:12 am
Posts: 3
Hi Guys,
I am new to hibernate and have a nerve breaking issue to sort out
I want to add a record in a table and scenerio is described as below

I have a table which has 2 columns. This 2 columns are primary composite keys.

moreover this columns also acts as foreign key in this table and primary key in some other table.

I am using eclipse and eclipse plugin for hibernate.
It dosent generates any separate POJO or hbm. I have read somewhere its not needed also.

But it does generates pojo and hbm for the tables in which this columns act as primary key

Pojo for table 1 My_playlist playlist_id is primary key in here
package com.flotogo.portal.hibernate.domain;

// Generated Jan 7, 2010 1:49:20 PM by Hibernate Tools 3.2.4.GA

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
* MyPlaylist generated by hbm2java
*/
public class MyPlaylist implements java.io.Serializable {

private Integer playlistId;
private AccessMaster accessMaster;
private UserMaster userMaster;
private String playlistName;
private String description;
private Integer importCount;
private Date latestImportedOn;
private Set songDetailses = new HashSet(0);

public MyPlaylist() {
}

public MyPlaylist(AccessMaster accessMaster, UserMaster userMaster,
String playlistName) {
this.accessMaster = accessMaster;
this.userMaster = userMaster;
this.playlistName = playlistName;
}

public MyPlaylist(AccessMaster accessMaster, UserMaster userMaster,
String playlistName, String description, Integer importCount,
Date latestImportedOn, Set songDetailses) {
this.accessMaster = accessMaster;
this.userMaster = userMaster;
this.playlistName = playlistName;
this.description = description;
this.importCount = importCount;
this.latestImportedOn = latestImportedOn;
this.songDetailses = songDetailses;
}

public Integer getPlaylistId() {
return this.playlistId;
}

public void setPlaylistId(Integer playlistId) {
this.playlistId = playlistId;
}

public AccessMaster getAccessMaster() {
return this.accessMaster;
}

public void setAccessMaster(AccessMaster accessMaster) {
this.accessMaster = accessMaster;
}

public UserMaster getUserMaster() {
return this.userMaster;
}

public void setUserMaster(UserMaster userMaster) {
this.userMaster = userMaster;
}

public String getPlaylistName() {
return this.playlistName;
}

public void setPlaylistName(String playlistName) {
this.playlistName = playlistName;
}

public String getDescription() {
return this.description;
}

public void setDescription(String description) {
this.description = description;
}

public Integer getImportCount() {
return this.importCount;
}

public void setImportCount(Integer importCount) {
this.importCount = importCount;
}

public Date getLatestImportedOn() {
return this.latestImportedOn;
}

public void setLatestImportedOn(Date latestImportedOn) {
this.latestImportedOn = latestImportedOn;
}

public Set getSongDetailses() {
return this.songDetailses;
}

public void setSongDetailses(Set songDetailses) {
this.songDetailses = songDetailses;
}

}

Corresponding HBM

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jan 7, 2010 1:49:22 PM by Hibernate Tools 3.2.4.GA -->
<hibernate-mapping>
<class name="com.flotogo.portal.hibernate.domain.MyPlaylist" table="my_playlist" catalog="flotogo">
<id name="playlistId" type="java.lang.Integer">
<column name="playlist_id" />
<generator class="identity" />
</id>
<many-to-one name="accessMaster" class="com.flotogo.portal.hibernate.domain.AccessMaster" fetch="select">
<column name="access_level" not-null="true" />
</many-to-one>
<many-to-one name="userMaster" class="com.flotogo.portal.hibernate.domain.UserMaster" fetch="select">
<column name="user_id" not-null="true" />
</many-to-one>
<property name="playlistName" type="string">
<column name="playlist_name" length="45" not-null="true" />
</property>
<property name="description" type="string">
<column name="Description" length="45" />
</property>
<property name="importCount" type="java.lang.Integer">
<column name="import_count" />
</property>
<property name="latestImportedOn" type="timestamp">
<column name="latest_imported_on" length="19" />
</property>
<set name="songDetailses" inverse="false" lazy="true" table="playlist_details" fetch="select">
<key>
<column name="playlist_id" not-null="true" />
</key>
<many-to-many entity-name="com.flotogo.portal.hibernate.domain.SongDetails">
<column name="song_id" not-null="true" />
</many-to-many>
</set>
</class>
</hibernate-mapping>


Pojo for table 2 song_details song_id is primary key in here


package com.flotogo.portal.hibernate.domain;
package com.flotogo.portal.hibernate.domain;

// Generated Jan 7, 2010 1:49:20 PM by Hibernate Tools 3.2.4.GA

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
* SongDetails generated by hbm2java
*/
public class SongDetails implements java.io.Serializable {

private Integer songId;
private ContentProvider contentProvider;
private AlbumDetail albumDetail;
private SongSubcategory songSubcategory;
private SongCategory songCategory;
private MoodMaster moodMaster;
private String title;
private String subTitle;
private String actorActoress;
private String bandName;
private String composer;
private String lyricist;
private String remixedBy;
private String partOfSet;
private String trackUniqueId;
private String language;
private Integer length;
private Integer beatsPerMinute;
private String contentFileName;
private String publisher;
private String licensee;
private Date releaseYear;
private String isrc;
private Date fromDate;
private Date toDate;
private Date uploadedDate;
private Boolean status;
private Integer rating;
private String streamingUrl;
private String albumartImageName;
private String mediaType;
private String singerName;
private String originCountry;
private String versionType;
private Set newReleaseses = new HashSet(0);
private Set myBookmarks = new HashSet(0);
private Set recommendations = new HashSet(0);
private Set myPlaylists = new HashSet(0);
private Set topSongses = new HashSet(0);
private Set userUpdateses = new HashSet(0);
private Set dedications = new HashSet(0);
private Set artistDetails = new HashSet(0);

public SongDetails() {
}

public SongDetails(String title) {
this.title = title;
}

public SongDetails(ContentProvider contentProvider,
AlbumDetail albumDetail, SongSubcategory songSubcategory,
SongCategory songCategory, MoodMaster moodMaster, String title,
String subTitle, String actorActoress, String bandName,
String composer, String lyricist, String remixedBy,
String partOfSet, String trackUniqueId, String language,
Integer length, Integer beatsPerMinute, String contentFileName,
String publisher, String licensee, Date releaseYear, String isrc,
Date fromDate, Date toDate, Date uploadedDate, Boolean status,
Integer rating, String streamingUrl, String albumartImageName,
String mediaType, String singerName, String originCountry,
String versionType, Set newReleaseses, Set myBookmarks,
Set recommendations, Set myPlaylists, Set topSongses,
Set userUpdateses, Set dedications, Set artistDetails) {
this.contentProvider = contentProvider;
this.albumDetail = albumDetail;
this.songSubcategory = songSubcategory;
this.songCategory = songCategory;
this.moodMaster = moodMaster;
this.title = title;
this.subTitle = subTitle;
this.actorActoress = actorActoress;
this.bandName = bandName;
this.composer = composer;
this.lyricist = lyricist;
this.remixedBy = remixedBy;
this.partOfSet = partOfSet;
this.trackUniqueId = trackUniqueId;
this.language = language;
this.length = length;
this.beatsPerMinute = beatsPerMinute;
this.contentFileName = contentFileName;
this.publisher = publisher;
this.licensee = licensee;
this.releaseYear = releaseYear;
this.isrc = isrc;
this.fromDate = fromDate;
this.toDate = toDate;
this.uploadedDate = uploadedDate;
this.status = status;
this.rating = rating;
this.streamingUrl = streamingUrl;
this.albumartImageName = albumartImageName;
this.mediaType = mediaType;
this.singerName = singerName;
this.originCountry = originCountry;
this.versionType = versionType;
this.newReleaseses = newReleaseses;
this.myBookmarks = myBookmarks;
this.recommendations = recommendations;
this.myPlaylists = myPlaylists;
this.topSongses = topSongses;
this.userUpdateses = userUpdateses;
this.dedications = dedications;
this.artistDetails = artistDetails;
}

public Integer getSongId() {
return this.songId;
}

public void setSongId(Integer songId) {
this.songId = songId;
}

public ContentProvider getContentProvider() {
return this.contentProvider;
}

public void setContentProvider(ContentProvider contentProvider) {
this.contentProvider = contentProvider;
}

public AlbumDetail getAlbumDetail() {
return this.albumDetail;
}

public void setAlbumDetail(AlbumDetail albumDetail) {
this.albumDetail = albumDetail;
}

public SongSubcategory getSongSubcategory() {
return this.songSubcategory;
}

public void setSongSubcategory(SongSubcategory songSubcategory) {
this.songSubcategory = songSubcategory;
}

public SongCategory getSongCategory() {
return this.songCategory;
}

public void setSongCategory(SongCategory songCategory) {
this.songCategory = songCategory;
}

public MoodMaster getMoodMaster() {
return this.moodMaster;
}

public void setMoodMaster(MoodMaster moodMaster) {
this.moodMaster = moodMaster;
}

public String getTitle() {
return this.title;
}

public void setTitle(String title) {
this.title = title;
}

public String getSubTitle() {
return this.subTitle;
}

public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}

public String getActorActoress() {
return this.actorActoress;
}

public void setActorActoress(String actorActoress) {
this.actorActoress = actorActoress;
}

public String getBandName() {
return this.bandName;
}

public void setBandName(String bandName) {
this.bandName = bandName;
}

public String getComposer() {
return this.composer;
}

public void setComposer(String composer) {
this.composer = composer;
}

public String getLyricist() {
return this.lyricist;
}

public void setLyricist(String lyricist) {
this.lyricist = lyricist;
}

public String getRemixedBy() {
return this.remixedBy;
}

public void setRemixedBy(String remixedBy) {
this.remixedBy = remixedBy;
}

public String getPartOfSet() {
return this.partOfSet;
}

public void setPartOfSet(String partOfSet) {
this.partOfSet = partOfSet;
}

public String getTrackUniqueId() {
return this.trackUniqueId;
}

public void setTrackUniqueId(String trackUniqueId) {
this.trackUniqueId = trackUniqueId;
}

public String getLanguage() {
return this.language;
}

public void setLanguage(String language) {
this.language = language;
}

public Integer getLength() {
return this.length;
}

public void setLength(Integer length) {
this.length = length;
}

public Integer getBeatsPerMinute() {
return this.beatsPerMinute;
}

public void setBeatsPerMinute(Integer beatsPerMinute) {
this.beatsPerMinute = beatsPerMinute;
}

public String getContentFileName() {
return this.contentFileName;
}

public void setContentFileName(String contentFileName) {
this.contentFileName = contentFileName;
}

public String getPublisher() {
return this.publisher;
}

public void setPublisher(String publisher) {
this.publisher = publisher;
}

public String getLicensee() {
return this.licensee;
}

public void setLicensee(String licensee) {
this.licensee = licensee;
}

public Date getReleaseYear() {
return this.releaseYear;
}

public void setReleaseYear(Date releaseYear) {
this.releaseYear = releaseYear;
}

public String getIsrc() {
return this.isrc;
}

public void setIsrc(String isrc) {
this.isrc = isrc;
}

public Date getFromDate() {
return this.fromDate;
}

public void setFromDate(Date fromDate) {
this.fromDate = fromDate;
}

public Date getToDate() {
return this.toDate;
}

public void setToDate(Date toDate) {
this.toDate = toDate;
}

public Date getUploadedDate() {
return this.uploadedDate;
}

public void setUploadedDate(Date uploadedDate) {
this.uploadedDate = uploadedDate;
}

public Boolean getStatus() {
return this.status;
}

public void setStatus(Boolean status) {
this.status = status;
}

public Integer getRating() {
return this.rating;
}

public void setRating(Integer rating) {
this.rating = rating;
}

public String getStreamingUrl() {
return this.streamingUrl;
}

public void setStreamingUrl(String streamingUrl) {
this.streamingUrl = streamingUrl;
}

public String getAlbumartImageName() {
return this.albumartImageName;
}

public void setAlbumartImageName(String albumartImageName) {
this.albumartImageName = albumartImageName;
}

public String getMediaType() {
return this.mediaType;
}

public void setMediaType(String mediaType) {
this.mediaType = mediaType;
}

public String getSingerName() {
return this.singerName;
}

public void setSingerName(String singerName) {
this.singerName = singerName;
}

public String getOriginCountry() {
return this.originCountry;
}

public void setOriginCountry(String originCountry) {
this.originCountry = originCountry;
}

public String getVersionType() {
return this.versionType;
}

public void setVersionType(String versionType) {
this.versionType = versionType;
}

public Set getNewReleaseses() {
return this.newReleaseses;
}

public void setNewReleaseses(Set newReleaseses) {
this.newReleaseses = newReleaseses;
}

public Set getMyBookmarks() {
return this.myBookmarks;
}

public void setMyBookmarks(Set myBookmarks) {
this.myBookmarks = myBookmarks;
}

public Set getRecommendations() {
return this.recommendations;
}

public void setRecommendations(Set recommendations) {
this.recommendations = recommendations;
}

public Set getMyPlaylists() {
return this.myPlaylists;
}

public void setMyPlaylists(Set myPlaylists) {
this.myPlaylists = myPlaylists;
}

public Set getTopSongses() {
return this.topSongses;
}

public void setTopSongses(Set topSongses) {
this.topSongses = topSongses;
}

public Set getUserUpdateses() {
return this.userUpdateses;
}

public void setUserUpdateses(Set userUpdateses) {
this.userUpdateses = userUpdateses;
}

public Set getDedications() {
return this.dedications;
}

public void setDedications(Set dedications) {
this.dedications = dedications;
}

public Set getArtistDetails() {
return this.artistDetails;
}

public void setArtistDetails(Set artistDetails) {
this.artistDetails = artistDetails;
}

}

Corresponding HBM

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jan 7, 2010 1:49:22 PM by Hibernate Tools 3.2.4.GA -->
<hibernate-mapping>
<class name="com.flotogo.portal.hibernate.domain.SongDetails" table="song_details" catalog="flotogo">
<id name="songId" type="java.lang.Integer">
<column name="song_id" />
<generator class="identity" />
</id>
<many-to-one name="contentProvider" class="com.flotogo.portal.hibernate.domain.ContentProvider" fetch="select">
<column name="content_provider_id" />
</many-to-one>
<many-to-one name="albumDetail" class="com.flotogo.portal.hibernate.domain.AlbumDetail" fetch="select">
<column name="album_id" />
</many-to-one>
<many-to-one name="songSubcategory" class="com.flotogo.portal.hibernate.domain.SongSubcategory" fetch="select">
<column name="sub_category_id" />
</many-to-one>
<many-to-one name="songCategory" class="com.flotogo.portal.hibernate.domain.SongCategory" fetch="select">
<column name="category_id" />
</many-to-one>
<many-to-one name="moodMaster" class="com.flotogo.portal.hibernate.domain.MoodMaster" fetch="select">
<column name="song_mood_id" />
</many-to-one>
<property name="title" type="string">
<column name="title" not-null="true" />
</property>
<property name="subTitle" type="string">
<column name="sub_title" length="45" />
</property>
<property name="actorActoress" type="string">
<column name="actor_actoress" />
</property>
<property name="bandName" type="string">
<column name="band_name" length="45" />
</property>
<property name="composer" type="string">
<column name="composer" length="45" />
</property>
<property name="lyricist" type="string">
<column name="lyricist" length="45" />
</property>
<property name="remixedBy" type="string">
<column name="remixed_by" length="45" />
</property>
<property name="partOfSet" type="string">
<column name="part_of_set" length="45" />
</property>
<property name="trackUniqueId" type="string">
<column name="track_unique_id" length="45" />
</property>
<property name="language" type="string">
<column name="language" length="45" />
</property>
<property name="length" type="java.lang.Integer">
<column name="length" />
</property>
<property name="beatsPerMinute" type="java.lang.Integer">
<column name="beats_per_minute" />
</property>
<property name="contentFileName" type="string">
<column name="content_file_name" length="45" />
</property>
<property name="publisher" type="string">
<column name="publisher" length="45" />
</property>
<property name="licensee" type="string">
<column name="licensee" length="45" />
</property>
<property name="releaseYear" type="timestamp">
<column name="release_year" length="19" />
</property>
<property name="isrc" type="string">
<column name="isrc" length="45" />
</property>
<property name="fromDate" type="timestamp">
<column name="from_date" length="19" />
</property>
<property name="toDate" type="timestamp">
<column name="to_date" length="19" />
</property>
<property name="uploadedDate" type="timestamp">
<column name="uploaded_date" length="19" />
</property>
<property name="status" type="java.lang.Boolean">
<column name="status" />
</property>
<property name="rating" type="java.lang.Integer">
<column name="rating" />
</property>
<property name="streamingUrl" type="string">
<column name="streaming_url" length="45" />
</property>
<property name="albumartImageName" type="string">
<column name="albumart_image_name" />
</property>
<property name="mediaType" type="string">
<column name="media_type" length="45" />
</property>
<property name="singerName" type="string">
<column name="singer_name" />
</property>
<property name="originCountry" type="string">
<column name="origin_country" length="45" />
</property>
<property name="versionType" type="string">
<column name="version_type" length="45" />
</property>
<set name="newReleaseses" inverse="true" lazy="true" table="new_releases" fetch="select">
<key>
<column name="song_id" not-null="true" />
</key>
<one-to-many class="com.flotogo.portal.hibernate.domain.NewReleases" />
</set>
<set name="myBookmarks" inverse="true" lazy="true" table="bookmark_details" fetch="select">
<key>
<column name="song_id" not-null="true" />
</key>
<many-to-many entity-name="com.flotogo.portal.hibernate.domain.MyBookmark">
<column name="user_id" not-null="true" />
</many-to-many>
</set>
<set name="recommendations" inverse="true" lazy="true" table="recommendation" fetch="select">
<key>
<column name="song_id" not-null="true" />
</key>
<one-to-many class="com.flotogo.portal.hibernate.domain.Recommendation" />
</set>
<set name="myPlaylists" inverse="true" lazy="true" table="playlist_details" fetch="select">
<key>
<column name="song_id" not-null="true" />
</key>
<many-to-many entity-name="com.flotogo.portal.hibernate.domain.MyPlaylist">
<column name="playlist_id" not-null="true" />
</many-to-many>
</set>
<set name="topSongses" inverse="true" lazy="true" table="top_songs" fetch="select">
<key>
<column name="song_id" not-null="true" />
</key>
<one-to-many class="com.flotogo.portal.hibernate.domain.TopSongs" />
</set>
<set name="userUpdateses" inverse="true" lazy="true" table="user_updates" fetch="select">
<key>
<column name="last_played_song_id" />
</key>
<one-to-many class="com.flotogo.portal.hibernate.domain.UserUpdates" />
</set>
<set name="dedications" inverse="true" lazy="true" table="dedication" fetch="select">
<key>
<column name="song_id" not-null="true" />
</key>
<one-to-many class="com.flotogo.portal.hibernate.domain.Dedication" />
</set>
<set name="artistDetails" inverse="false" lazy="true" table="song_artist" fetch="select">
<key>
<column name="song_id" not-null="true" />
</key>
<many-to-many entity-name="com.flotogo.portal.hibernate.domain.ArtistDetail">
<column name="artist_id" not-null="true" />
</many-to-many>
</set>
</class>
</hibernate-mapping>


I need to insert the entries in talbe playlist_details
Songid an playlistid act is composite primary keys in it.
All the details are above


Any help will be highly appreciated

THanks in advance


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.