JPA (Hibernate) Problem mit OneToOne annotation mappedBy

Ich habe zwei Tabellen, während ich setup eine oneToOne Beziehung.
Bill und BillSimpleEntry. (Jede Rechnung hat eine BillSimpleEntry

Hier ist die Struktur

CREATE TABLE `bill` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  ..
  ..
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  KEY `fk_bill_groups1_idx` (`groupId`),
  KEY `fk_bill_user1_idx` (`billPayerId`),
  CONSTRAINT `fk_b...` FOREIGN KEY (`groupId`) REFERENCES `groups` (`id`) ON D     ELETE  NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_b...` FOREIGN KEY (`billPayerId`) REFERENCES `user` (`id`) ON    DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;



DROP TABLE IF EXISTS `billsimpleentry`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `billsimpleentry` (
  `..` varchar(200) DEFAULT NULL,
  `..` text,
  `billId` bigint(20) DEFAULT NULL,
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  KEY `fk_bill_idx` (`billId`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

JPA-Konfiguration (Ausschnitt aus der bill-Entität für das oneToOne-Beziehung-Attribut).

@OneToOne(cascade=CascadeType.ALL,mappedBy="billId",fetch = FetchType.EAGER)
private BillSimpleEntry billSimpleEntry;

Ich versuche eine Verknüpfung zwischen Rechnung und BillSimpleEntry von billSimpleEntry.billId und bill.Id. Aber ich glaube, ich bekomme eine Fehlermeldung.

Hier ist die Fehlermeldung die ich bekomme-

Caused by: org.hibernate.AnnotationException: Referenced property not a (One|Many)ToOne:
com.uh.br.domain.BillSimpleEntry.billId in mappedBy of    
com.uh.br.domain.Bill.billSimpleEntryry

Hier sind die Entitäten

Bill.java
@Entity
@Table(name = "bill")
public class Bill implements GenericObject {

/**
 *
 */
private static final long serialVersionUID = -5660869020353250221L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)  
private Long id;

...
..
@OneToOne(cascade=CascadeType.ALL,fetch = FetchType.EAGER)
@JoinColumn(name="billId")
private BillSimpleEntry billSimpleEntry;

...
getters & setters
...
}

BillSimpleEntry.java
@Entity
@Table(name="billsimpleentry")
public class BillSimpleEntry  implements GenericObject{

@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)  
    private Long id;
    private Long billId;
    @Column(columnDefinition="TEXT")
private String itemDescription;//napkin
...
...

    ...
getters & setters
...
  • Sie werden versuchen, diese bidirektionale?
  • Ich denke, es ist uni. Ich habe geantwortet, deine Antwort unten mit meiner Erklärung. danke!
InformationsquelleAutor user6123723 | 2013-08-18
Schreibe einen Kommentar