0
我在內存數據庫中使用帶有hibernate的Spring數據JPA。Spring JPA將實體存儲在實體內
我有以下實體:
@Entity
public class EntityA {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long entityAId;
@Column
@NotEmpty
private String name;
@OneToMany(mappedBy = "entityA")
private List<EntityB> entityBList;
//getter and setters
@Entity
public class EntityB {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column
@NotEmpty
private String name;
@ManyToOne
@JoinColumn(referencedColumnName = "entityAId")
private EntityA entityA;
//getter and setter
這裏是我的倉庫:
@Repository
public interface EntityARepository extends JpaRepository<EntityA, Long> {
}
@Repository
public interface EntityBRepository extends JpaRepository<EntityB, Integer> {
@Query(value = "FROM EntityB b where b.entityA.entityAId = ?1")
public List<EntityB> getEntityBByEntityAId(Long entityAId);
}
我的問題是:
如果我有entityA
一個實例與 'n' 的entityB
實例在裏面,如果我打電話給entityARepository.save(entityA);
,那麼它會保存entityB(有可能嗎?)?我試過這個,但它沒有爲我工作。我也試過
entityARepository.save(entityA);
entityBRepository.save(entityBList);
哪個保存了結果。但是當我檢索entityA
使用findOne
方法從存儲庫由entityAId
,我得到一個空列表沒有任何EntityB
類型的實例。
我甚至試圖通過entityAId
分別查詢entityBRepository
,但我得到一個空的entityB
結果列表。
有人可以請幫我知道究竟是什麼遺漏嗎?
謝謝,但不爲我工作:( – SMA
這應該工作,別的東西一定是錯在你的配置。你怎麼注入你entityARepository?你怎麼測試呢?你可以向我們展示你的彈簧配置? – user3227576
我編輯了我的答案,請檢查彈簧和測試配置 – user3227576