Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Java]Hibernate probleem

Pagina: 1
Acties:

  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
Hallo,

Ik heb een groot probleem met hibernate in combinatie met java, dit is mijn tabel structuur:

ORDER 1------* ORDERLINEITEM *-------1 ORDERITEM

Ik kan via hibernate dingen wegschrijven naar de tabellen ORDER en ORDERITEM, het probleem zit hebm bij de tabel ORDERLINEITEM:

ORDERLINEITEM bevat voor de duidellijkheid volgende velden:

ORDERLINEITEM
---------------------------
| ID (PK - autonr)
| ORDERNR
| ORDERITEMNR
| OPM

hieronder enkele stukken uit m'n javacode:

Java:
1
2
3
4
5
6
//Getter voor het id veld van orderlineitem
  @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    private int getId() {
        return id;
    }


Java:
1
2
3
4
5
6
7
//De mapping naar orderltemnr 
 @Transient
  @ManyToOne()
  @JoinColumn(name="orderitemNr")
    public Acteur getorderitemNr() {
        return orderitemNr;
    }


wanneer ik nu mijn code test met:

Java:
1
2
3
  OrderlijnItem OrderLijnItem= new OrderlijnItem(order,item , "dit is een opm");
  //Waar oder en item objecten zijn van de resp. klassen
          session.saveOrUpdate(Acteurperfilm);


krijg ik volgende fout :

Hibernate: insert into orderlijneitem (opmerking) values (?)
13:57:36,109 WARN JDBCExceptionReporter:77 - SQL Error: 1364, SQLState: HY000
13:57:36,125 ERROR JDBCExceptionReporter:78 - Field 'orderItem' doesn't have a default value

Hij neemt dus niet het order en item object dat ik meegeef om als Id te gebruiken in de resp velden.

Heeft er iemand ene idee wat ik verkeerd doe?

  • Standeman
  • Registratie: November 2000
  • Nu online

Standeman

Prutser 1e klasse

Bestaat het item object al in je database, of is dat een nieuw object? Ik neem aan dat er in tabel ORDERLINEITEM een FK staat naar de tabel ORDERITEM. Wanneer het item nog niet bestaat en cascading uit staat, zal er inderdaad een foreignkey constraint af gaan.

The ships hung in the sky in much the same way that bricks don’t.


  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
Er ligt een FK relatie tussen.

Het object maak ik net voor het wegschrijven van de orderlineitem aan

  • Standeman
  • Registratie: November 2000
  • Nu online

Standeman

Prutser 1e klasse

Ik heb wel iets gevonden wat er misschien mee te maken heeft. Hoewel het hier over de xml config gaat en er geen gebruik gemaakt van JPA annotation tags.http://saloon.javaranch.c...b=get_topic&f=78&t=003171

Misschien heb je er wat aan?

Ik snap alleen niet wat orderlineitems met acteurs en films te maken heeft. Misschien kan je wat meer code posten, want het is vrij lastig om een beeld te vormen. Ik bedoel voornamelijk het volgende

Java:
1
2
3
4
OrderlijnItem OrderLijnItem= new OrderlijnItem(order,item , "dit is een opm");
  //Waar oder en item objecten zijn van de resp. klassen
          session.saveOrUpdate(Acteurperfilm);
                                 ^^^^^^^^^^^^ --> Waar komt dit vandaan?

[ Voor 26% gewijzigd door Standeman op 24-10-2007 17:04 ]

The ships hung in the sky in much the same way that bricks don’t.


  • Xu
  • Registratie: Maart 2001
  • Laatst online: 29-04 07:47

Xu

... waarom maak je em ook @Transient? lijkt me niet de bedoeling?

[AMD XP 2400@2.0GhZ | Asus A7V8X-X | 512 DDR-RAM | Sapphire Ati Radeon 9800 Pro 128 MB | 80GB Maxtor 5400] && [AMD DURON 800@800 | MSI KT266A Pro2 | 256 DDR-RAM | GeForce2 MX/MX400 64MB | 20GB Maxtor 5400]