Tag: 一对多

删除的对象将被级联重新保存(从关联中删除删除的对象)

我有以下两个实体: 1-播放列表: @OneToMany(fetch = FetchType.EAGER, mappedBy = "playlist", orphanRemoval = true, cascade = CascadeType.ALL) @OrderBy("adOrder") private Set<PlaylistadMap> PlaylistadMaps = new HashSet<PlaylistadMap>(0); 在保存或更新播放列表实体时,需要使用CascadeType.ALL保存和更新PlaylistadMap集合。 orphanRemoval = true :在删除播放列表实体时需要,也应删除PlaylistadMap引用。 2-播放列表地图: @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "fk_playlist", referencedColumnName = "pkid", nullable = false) private Playlist playlist; 当通过使用getCurrentSession().delete();播放列表getCurrentSession().delete(); 我收到以下例外: org.springframework.dao.InvalidDataAccessApiUsageException: deleted object would be re-saved by cascade (remove deleted object […]

JPA @OneToMany – >父 – 子参考(外键)

我有一个关于从子实体引用ParentEntities的问题如果我有这样的事情: Parent.java: @Entity(name ="Parent") public class Parent { @Id @Generate….. @Column private int id; @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "parent") private Set<Child> children; simple … getter and setter … } 和Child.java: @Entity(name ="Child") public class Child{ @Id @Generate…. @Column private int id; @ManyToOne private Parent parent; … simple getter an setter } […]

JPA – 坚持一对多的关系

也许这是一个愚蠢的问题,但它正在扰乱我。 我有一个双向的一对多员工对车辆的关系。 当我第一次坚持雇员在数据库(即它没有分配的ID),我也希望其相关的车辆坚持。 这对我来说很好,除了我保存的Vehicle实体没有自动映射关联的Employee,而在数据库中,Vehicle表中的employee_id外键列为空。 我的问题是,是否有可能让车辆的员工在员工持续的同时坚持? 我意识到,雇员将需要先保存,然后车辆保存之后。 JPA能自动为我做这个吗? 或者我必须做如下的事情: Vehicle vehicle1 = new Vehicle(); Set<Vehicle> vehicles = new HashSet<Vehicle>(); vehicles.add(vehicle1); Employee newEmployee = new Employee("matt"); newEmployee.setVehicles(vehicles); Employee savedEmployee = employeeDao.persistOrMerge(newEmployee); vehicle1.setAssociatedEmployee(savedEmployee); vehicleDao.persistOrMerge(vehicle1); 谢谢! 编辑:按要求,这是我的映射(没有所有其他方法等) @Entity public class Employee { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="employee_id") private Long id; @OneToMany(mappedBy="associatedEmployee", cascade=CascadeType.ALL) private Set<Vehicle> vehicles; … } @Entity public […]

一对多,多对一和多对多的区别?

好,所以这可能是一个微不足道的问题,但我很难形象化和理解差异以及何时使用每个差异。 对于单向和双向映射等概念如何影响一对多/多对多的关系,我也有点不清楚。 我现在正在使用Hibernate,所以任何与ORM相关的解释都会有所帮助。 举一个例子,假设我有以下设置: public class Person{ private Long personId; private Set<Skill> skills; //Getters and setters } public class Skill{ private Long skillId; private String skillName; //Getters and setters } 那么在这种情况下我会有什么样的映射? 这个具体例子的答案是肯定的赞赏,但我也真的很喜欢什么时候使用一对多和多对多的概述,何时使用连接表与连接列和单向与双向。

Hibernate 3.5中的JPA 2.0 @OrderColumn注释

我正在试图在Hibernate 3.5中使用@OrderColumn注解 @OneToMany(mappedBy = "parent",fetch=FetchType.EAGER, cascade=CascadeType.ALL) @OrderColumn(name = "pos") private List<Children> childrenCollection; 检索数据时,一切正常。 但是我不能使它重新排列列表中的元素并将新的顺序保存到数据库中。

JPA:如何具有相同实体types的一对多关系

有一个实体类“A”。 A类可能有同一types“A”的孩子。 另外“A”应该是它的父母,如果它是一个孩子。 这可能吗? 如果是的话我应该如何映射实体类中的关系? [“A”有一个id列。]