我有个问题要问.我在数据库中有两个表,Hibernate有两个类.
课堂文章:
@Entity
@Table(name = "Artikel")
public class Artikel{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String artikelbezeichnung;
private int artikelnummer;
private Float preis;
@OneToMany(mappedBy = "artikel", fetch = FetchType.LAZY)
@JsonManagedReference
private List<Artikeldetails> artikeldetails;
课程详细信息
@Entity
@Table(name="ARTIKELDETAILS")
public class Artikeldetails {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String artikeldetail;
private String artikelcustom;
private String artikelselektion;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="artikelid")
@JsonBackReference
private Artikel artikel;
JPA查询:
List<Artikel> findByArtikelnummer(@Param("artikelnummer") int artikelnummer);
例如,结果是:
[{
"id": 3,
"artikelbezeichnung": null,
"artikelnummer": 123,
"preis": 123.0,
"artikeldetails": [{
"id": 4,
"artikeldetail": "DetailNummer 1",
"artikelcustom": "Detail Nummer 1",
"artikelselektion": "Detail Nummer 1"
}, {
"id": 5,
"artikeldetail": "DetailNummer 2",
"artikelcustom": "Detail Nummer 2",
"artikelselektion": "Detail Nummer 2"
}, {
"id": 6,
"artikeldetail": "DetailNummer 3",
"artikelcustom": "DetailNummer 3",
"artikelselektion": "DetailNummer 3"
}
]
}
]
这很好,很有效,但现在我只想在没有连接的情况下获得Artikel数据.我该怎么做呢?我必须为此创建一个新的类吗?
我还试图更改这一行:
@Query(value = "SELECT a FROM Artikel a where a.artikelnummer = :artikelnummer")
List<Artikel> findByArtikelnummer(@Param("artikelnummer") int artikelnummer);
但这并不管用.