Annotations i spring Flashcards
@Column
Kan bruges til at annotere navn, type eller længde på kolonnen i databasen, hvis man vil have noget andet end default genereret.
@OneToOne(mappedBy = “x”)
fortæller, at denne side af relationen IKKE ejer den.
Det betyder, at den anden entitet gemmer fremmednøglen i databasen under navnet x
@JoinColumn
Angiver hvilken kolonne i databasen der fungerer som fremmednøgle i en relation mellem to entiteter.
@Entity
bruges i JPA til at markere en klasse som en database-entitet. Klassen repræsenterer en tabel i databasen, og dens felter bliver til kolonner i tabellen
@Id
Angiver at dette felt skal fungere som primær nøgle
@Component
Bruges til at markere en klasse som en Spring Bean, så Spring registrerer den som en del af sin container.
@Autowired
Injicerer automatisk afhængigheder i en klasse, så du slipper for at oprette objekter manuelt
@RestController
-@RestController bruges til at bygge REST API’er.
-Returnerer JSON/XML i stedet for HTML.
-Er en forenklet version af @Controller + @ResponseBody
@JsonBackReference
Forhindrer uendelige loops, når to objekter refererer til hinanden.
cascade = CascadeType.ALL
Hvis en forældre fjernes, fjernes alle deres børn-elementer også
@SpringBootTest
Starter hele Spring-applikationen til test, dvs. den loader alle Beans og afhængigheder.
Bruges til integrationstests og
Kan kombineres med f.eks. Mocking (@MockBean)
@Transactional
alt inde i kdoeblokken sker indenfor en transaktion
@DataJpaTest
‘Initdata’ klassen bliver ikke kørt, hvis man skal have data i sin database skal det være i samme klasse som annotationen.
kører kun h2 database