[hibernate-issues] [Hibernate-JIRA] Commented: (ANN-814) OneToOne Unidirectional Support
Sergey Klimenko (JIRA)
noreply at atlassian.com
Sun May 10 12:48:13 EDT 2009
[ http://opensource.atlassian.com/projects/hibernate/browse/ANN-814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33134#action_33134 ]
Sergey Klimenko commented on ANN-814:
-------------------------------------
Any resolutions?
> OneToOne Unidirectional Support
> -------------------------------
>
> Key: ANN-814
> URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-814
> Project: Hibernate Annotations
> Issue Type: Bug
> Affects Versions: 3.4.0.GA
> Environment: Oracle 10g, Java 1.5
> Reporter: Rachit
> Priority: Blocker
>
> I tried hard for unidirectional OneToOne mapping as below:
> @Entity
> @Table(name = "PARTY")
> public class Party{
> private Person person;
> private String key;
> @OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL,)
> @PrimaryKeyJoinColumn(name = "PARTY_ID", referencedColumnName = "PERSON_PARTY_ID")
> public Person getPerson() {
> return person;
> }
>
> public void setPerson(Person person) {
> this.person = person;
> }
> @Id
> @GeneratedValue(generator = "system-uuid")
> @GenericGenerator(name = "system-uuid", strategy = "uuid")
> @Column(name = "PARTY_ID", nullable = false)
> public String getKey() {
> return key;
> }
>
> private void setKey(String key) {
> this.key = key;
> }
> }
> and it is one-to-one mapped to Person as:
> @Entity(name = "Person")
> @Table(name = "PERSON")
> public class Person {
> private String key;
> @Id
> @Column(name = "PERSON_PARTY_ID")
> public String getKey() {
> return key;
> }
>
> public void setKey(String key) {
> this.key = key;
> }
>
> }
> Now in Person, I deliberately dont have sysUUID as generated as then it generates a unique value for person and the association gets lost. With this mapping hibernate throws the following exception :
> Caused by: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): Person.
> I read and saw constrained="true" being used in mapping files, which I couldnt use as there is no attribute like it in OneToOne annotation.
> Please help me out on this
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list